Reputation: 8214
I'm trying to get a WCF service running in IIS8 on Windows Server 2012 build 8400.
When installing the web role the WCF stuff (under 3.51) wasn't to be found like in Windows Server 2008.
When installed the svc handler mapping was missing, so i did a:
%windir%\Microsoft.NET\Framework\v3.0\WindowsCommunication Foundation\ServiceModelReg.exe –i
Now the handler mapping is there, but I still get:
The resource you are looking for does not have a handler associated with it.
(I removed the static file handler.)
The site is using the classic pipeline in order to use impersonation.
Upvotes: 287
Views: 232094
Reputation: 1091
We managed to solve the error under Windows Server 2012 by:
It seems the order of installation is the cause.
Also, make sure you have HTTP Activation installed under WCF Services.
Upvotes: 11
Reputation: 2550
This was a really silly one for me. Adding this here as it's one of the more popular threads on svc 404 issues.
I had in my Project Settings' \ Web \ Project URL, pasted:
http://blah.webservice.local.blahblah.com/Blah.svc
And for some unknown reason (having done this a thousand times) didn't spot straight away that the name of the .svc file was at the end.
DOH!
I had just pasted the address from my WCF test client and hadn't checked it sufficiently. What this did in the background was create an IIS application at the .svc address and I was getting nothing out of IIS. I couldn't work out how I couldn't even hit the .svc file.
Simple fix, obviously, just remove the application in IIS and change the project URL.
After almost 20 years at this, you can still make schoolboy errors / rookie mistakes. Hope this helps someone.
Upvotes: 0
Reputation: 6275
On windows 10 (client) you can also script this using
Enable-WindowsOptionalFeature -Online -NoRestart -FeatureName WCF-HTTP-Activation45 -All
Note that this is a different command from the server skus
Upvotes: 2
Reputation: 55
using PowerShell you can install the required feature with:
Add-WindowsFeature 'NET-HTTP-Activation'
Upvotes: 3
Reputation: 109
It's HTTP Activation feature of .NET framework Windows Process Activation feature is required too
Upvotes: 0
Reputation: 4295
I prefer to do this via a script nowadays
REM install the needed Windows IIS features for WCF
dism /Online /Enable-Feature /FeatureName:WAS-WindowsActivationService
dism /Online /Enable-Feature /FeatureName:WAS-ProcessModel
dism /Online /Enable-Feature /FeatureName:WAS-NetFxEnvironment
dism /Online /Enable-Feature /FeatureName:WAS-ConfigurationAPI
dism /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation
dism /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation45
REM Feature Install Complete
pause
Upvotes: 28
Reputation: 489
turn ON the following on 'Turn Windows Features on or off'
a) .Net Framework 3.5 - WCF HTTP Activation and Non-Http Activation
b) all under WCF Services
Upvotes: 48
Reputation: 146180
Windows+X
Programs and Features
(first item on list)Turn Windows Features on or off
on the left.NET Framework 4.5 Advanced Services
WCF Services
HTTP Activation
Upvotes: 42
Reputation: 4277
Order of installation matters a lot when configuring IIS 8 on Windows 8 or Windows Server 2012.
I faced lot of issues configuring IIS 8 but finally these links helped me
Upvotes: 2
Reputation: 28838
I had to enable HTTP Activation
in .NET Framework 4.5 Advanced Services
> WCF Services
Upvotes: 235
Reputation: 18353
For Windows 8 machines there is no "Server Manager" application (at least I was not able to find it).
Though I was able to resolve the problem. I'm not sure in which sequence I did the following operations but looks like one/few of following actions help:
Turn ON the following on 'Turn Windows Features on or off' a) .Net Framework 3.5 - WCF HTTP Activation and Non-Http Activation b) all under WCF Services (as specified in one of the answers to this question)
executed "ServiceModelReg.exe –i" in "%windir%\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\" folder
Registered ASP.NET 2.0 via two commands ( in folder C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727):
aspnet_regiis -ga "NT AUTHORITY\NETWORK SERVICE" aspnet_regiis -iru
Restarted PC... it looks like as a result as actions ## 3 and 4 something got broken in my ASP.NET configuration
Repeat action #2
Install two other options from the "Programs and Features": .Net Framework 4.5 Advanced Services. I checked both sub options: ASP.NET 4.5 and WCF services
Restart App Pool.
Sequence is kind of crazy, but that helped to me and probably will help to other
Upvotes: 3
Reputation: 5956
More specifically:
Server Manager
(on task bar and start menu)Roles and Features
" section.Add Role or Feature
" from Tasks drop downAdd Role or Feature Wizard
" dialog, click down to "Features
" in list of pages on the left.".Net 3.5"
or ".Net 4.5"
, depending on what you have installed. (you can go back up to "roles
" screen to add if you don't have.WCF Services
", check the box for "HTTP-Activation
". You can also add non-http types if you know you need them (tcp, named pipes, etc)."Install"
Button.Upvotes: 593