IIS提供.svc文件供下载而不是在服务器上执行!

时间:2010-02-16 11:32:10

标签: asp.net wcf configuration rest

如果我暂时不管它,我的RESTful WCF Web服务似乎会自行破解!我可以让我的电脑完成所有工作,当我返回并使用简单的网址请求测试服务时,它会向我提供.svc文件供下载而不是在服务器上发起请求!

此WCF服务位于根目录下的自己的IIS Application文件夹中。我可以通过在Visual Studio中打开IIS子文件夹,删除web.config文件然后再次添加它来再次获得服务。

我的第一个想法是.svc的HTTP处理程序映射已被borked所以我重新运行ServiceModelReg.exe -i,但这还没有解决问题。

查看此IIS应用程序的处理程序映射,它们看起来是正确的,并且是从Web根目录继承的。值得一提的是,这个站点还有一个运行来自.svc文件的WCF服务的另一个Application文件夹,并且运行良好!

现在我已经检查过明显的有点关于下一步要看的地方!希望有人有建议...

5 个答案:

答案 0 :(得分:3)

您运行的是IIS6还是IIS7?什么是.NET版本?

IIS6: http://blog.stevensanderson.com/2008/07/04/options-for-deploying-aspnet-mvc-to-iis-6/

IIS7: 测试一下: “%windir%\ Microsoft.NET \ Framework \ v3.0 \ Windows Communication Foundation \ ServiceModelReg.exe”-r -y

你真的需要在其余网址中使用.svc-extension吗?

这可能会解决问题: http://west-wind.com/weblog/posts/570695.aspx

答案 1 :(得分:2)

尝试

转到程序和功能,然后打开或关闭Windows功能。

Microsoft.net Framework 3.5.1。

确保选中两个选项

Windows Communication Foundation HTTP激活

Windows Communication Foundation非HTTP激活

希望这有帮助。

答案 2 :(得分:0)

查看有关正确映射扩展名的文章:

IIS Hosted Service Fails

编辑:您是否在应用程序中托管服务?也许你的应用程序池挂了?

答案 3 :(得分:0)

我最终确实弄明白了。只是一个奇怪的IE / IIS怪癖。我正在通过将我的REST URI放在IE的地址栏中进行测试,如果一切正常,我希望看到一个JSON页面。这是第一次使用该服务时会发生的情况。进一步尝试IE将提供下载名为'FooService.svc'的文件,该文件实际上包含我的JSON数据 - 我从未被提供下载我的服务器端svc文件。

哼哼,电脑呃。不能和他们一起生活,......

答案 4 :(得分:0)

为IIS 7中的已连接应用程序池启用32位运行

它解决了我的问题。