2010-02-16 144 views
1

我的RESTful WCF Web服务似乎打破了自己,如果我把它放一会儿吧!我可以让我的个人电脑保持一切正常工作,当我通过一个简单的URL请求返回并测试服务时,它会为我提供.svc文件供下载,而不是在服务器上启动请求!IIS提供.svc文件供下载,而不是在服务器上执行它!

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

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

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

现在我已经检查了显然我有点在哪里看下一个flumoxed!希望有人建议...

回答

0

嗯,我也终于想出解决办法。只是一个奇怪的IE/IIS怪癖。我正在通过将我的REST URI放入IE的地址栏进行测试,并期望在所有工作都能看到一页JSON。这是服务第一次使用时会发生的情况。在进一步的尝试IE会提供下载名为'FooService.svc'的文件,其中包含我的JSON数据 - 我从来没有被提供下载我的服务器端svc文件。

何嗡嗡声,电脑eh。不能与“时间生活,...

0

退房这篇文章让你的扩展正确映射:

IIS Hosted Service Fails

编辑:你主持你的应用程序的服务?也许你的应用程序池被挂起?

+0

感谢您的建议,使用文章我可以确认扩展映射正确。 – 2010-02-17 00:28:13

+0

不,我在IIS中托管(v7.5) – 2010-02-17 08:47:41

2

尝试

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

Microsoft.net Framework 3.5.1。

确保两个选项都选中

Windows通信基础HTTP激活

Windows通讯基础非HTTP激活

希望这有助于。

+0

这两个选项都未选中,所以我启用了它们,但是,它不幸解决了这个问题。 – 2010-02-17 12:51:19

3

您正在运行IIS6或IIS7吗?什么.NET版本?

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

IIS7: 测试此: “%WINDIR%\ Microsoft.NET \框架\ 3.0 \ Windows通信基础\ ServiceModelReg.exe” -r -y

你真的需要其他网址中的.svc-extension吗?

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

+0

感谢您的链接,我确实希望在服务启动并运行后删除我的.svc扩展。我确实设置了URL重写,但是,它没有什么区别。我非常RESTful的URI在第一次成功访问后仍然提供了用于下载的.svc文件。 – 2010-02-28 22:44:55

0

启用IIS 7

用于连接应用程序池32位运行它解决了我的问题。

相关问题