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 http://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 (8)
  1. stevenR2 says:

    Thanks for the heads up 🙂

    Welcome to the blogosphere!

    steven

  2. MSDN Archive says:

    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.

  3. Adam Hems says:

    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

  4. dsiebold says:

    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.

  5. mlalevic says:

    Hi, I just installed Visual Studio 2008 and .NET 3.5 – Got the same error, seems that something got screwed up. Anyway I tried your approach and it worked. Weird thing was that I had to manually add the line to:

    “W3SVC” -> “1” -> “ROOT” -> “MyWCFHostSite”

    too. After that it worked.

    Thanks for the article, saved me hours of work.

    Cheers.

    Mihailo

  6. Pirate says:

    U r my god for atleast today … u saved me maan 🙂 …. two thumbs up.. btw wheres the like button ?? 😛

  7. コメントを残す says:

    神は少なくとも今日… ŭ 保存私マアーン:…. 2 つの親指を.ところである場所のようなボタン?: P

Comments are closed.

Skip to main content