如果我暂时不管它,我的RESTful WCF Web服务似乎会自行破解!我可以让我的电脑完成所有工作,当我返回并使用简单的网址请求测试服务时,它会向我提供.svc文件供下载而不是在服务器上发起请求!
此WCF服务位于根目录下的自己的IIS Application文件夹中。我可以通过在Visual Studio中打开IIS子文件夹,删除web.config文件然后再次添加它来再次获得服务。
我的第一个想法是.svc的HTTP处理程序映射已被borked所以我重新运行ServiceModelReg.exe -i,但这还没有解决问题。
查看此IIS应用程序的处理程序映射,它们看起来是正确的,并且是从Web根目录继承的。值得一提的是,这个站点还有一个运行来自.svc文件的WCF服务的另一个Application文件夹,并且运行良好!
现在我已经检查过明显的有点关于下一步要看的地方!希望有人有建议...
答案 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吗?
答案 1 :(得分:2)
尝试
转到程序和功能,然后打开或关闭Windows功能。
Microsoft.net Framework 3.5.1。
确保选中两个选项
Windows Communication Foundation HTTP激活
Windows Communication Foundation非HTTP激活
希望这有帮助。
答案 2 :(得分:0)
查看有关正确映射扩展名的文章:
编辑:您是否在应用程序中托管服务?也许你的应用程序池挂了?答案 3 :(得分:0)
我最终确实弄明白了。只是一个奇怪的IE / IIS怪癖。我正在通过将我的REST URI放在IE的地址栏中进行测试,如果一切正常,我希望看到一个JSON页面。这是第一次使用该服务时会发生的情况。进一步尝试IE将提供下载名为'FooService.svc'的文件,该文件实际上包含我的JSON数据 - 我从未被提供下载我的服务器端svc文件。
哼哼,电脑呃。不能和他们一起生活,......答案 4 :(得分:0)
为IIS 7中的已连接应用程序池启用32位运行
它解决了我的问题。