IIS stops handling *.svc requests after installing .Net 3.0 RC1
Hello,
I experienced this problem on two machines with Windows XP as OS, so I think other people may also run into this.
After uninstalling .Net 3.0 June CTP and all additional components (SDK, VS extensions for .Net 3.0 and WF), then installing .Net 3.0 RC1, IIS does not handle *.svc requests appropriate. A request like https://localhost/MyService/service.svc simply displays the service.svc file itself. So I checked whether the Http Handlers are registered in the web.config:
<buildProviders>
.
.
<add extension=".svc" type="System.ServiceModel.Activation.ServiceBuildProvider, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
.
.
</buildProviders>
and
<httpHandlers>
.
.
<add path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
validate="false" />
.
.
</httpHandlers>
After I checked this I tried to register ASP.NET again manually by calling “aspnet_regiis /i” and “aspnet_regiis /r” from the command line, but still no success. The I tried to register WCF manually by calling “servicemodelreg /i” , this tool is located in the following directory “C:\WINDOWS\Microsoft.Net\Framework\v3.0\Windows Communication Foundation”. But this was not successful to activate *.svc processing.
Then I checked the Configuration of Extensions in IIS: Go to “Administrative Tools” and start “Internet Information Services” navigate to “Default Web Site” and right click on it in the tree view. Select “Properties” from the Popup Menu, then select the “Home Directory" Tab and click on the “Configuration” Button in the Dialog. In my case the entry for the extension *.svc was missing. I tried to add the *.svc extension by clicking on the “Add” Button and filling the Dialog:
Executable: C:\WINDOWS\Microsoft.Net\Framework\v2.0.50727\aspnet_isapi.dll
Limit To: GET,HEAD,POST,DEBUG
Script Engine: checked
Check that file exists: unchecked
But the “Ok” Button keeps disabled, regardless of the entries in the dialog. It seems that somehow the security settings for the IIS Metabase are hosed, so that I could not add entries using this dialog, even if logged on with the local administrator account.
Now I tried to use IIS Metabase Explorer, this tool can be found in the IIS Resource Kit. In the tree view I navigated through “LM” to the “W3SVC” entry. Then I looked for the Scriptmaps entry in the List, double-clicked on it. Checked whether there is an entry for the *.svc extension in the list. If not, add a new entry by clicking on the “<new item>” in the list Insert this string in to the list “svc,C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,1,GET,HEAD,POST,DEBUG”
I repeated this procedure for the ROOT entry in the tree view, which can be reached by navigating through “W3SVC” -> “1” -> “ROOT”. After closing the IIS Metabase Explorer I restarted IIS by calling “iisreset” from the command prompt, and the the WCF services hosted in IIS were processed as expected.
Hope this is helpful to someone else.
Regards
Martin Vollmer
Comments
Anonymous
September 11, 2006
Thanks for the heads up :)
Welcome to the blogosphere!
stevenAnonymous
October 09, 2006
Great post. For me the part of your post that worked was adding the handler tag to the Web.config file, which I was able to fill in thanks to your excellent detail.Anonymous
October 25, 2006
Ahh.. and this is how I managed to finally get some of the excellent WCF examples from the latest Windows SDK (http://www.microsoft.com/downloads/details.aspx?FamilyId=28FAD42D-983E-4A57-B5A6-BF058766A9FF&displaylang=en) running... Cheers!
- Adam Hems
Anonymous
April 01, 2007
Thanks Martin! The Web.config tags is what worked for me also. WCF is great but when you first implement, expect three steps of research for each step you take forward when implementing a service. Thanks for posting this is such great detail.Anonymous
November 21, 2007
The comment has been removedAnonymous
October 12, 2008
PingBack from http://chris.59north.com/post/Silverlight-enabled-WCF-Service-and-EPiServer.aspxAnonymous
May 26, 2011
The comment has been removedAnonymous
May 26, 2011
神は少なくとも今日... ŭ 保存私マアーン:…. 2 つの親指を.ところである場所のようなボタン?: P