我刚刚在我的开发环境中设置了一个简单的 WCF 服务,到目前为止,对于 SOAP 和 JSONP 请求,端点工作正常。
我已继续将此解决方案部署到托管在 IIS 5.1 上的临时服务器(我知道,但请耐心等待),并且.svc
文件突然不再工作了。并不是 IIS 找不到它们,而是它们以纯文本文件的形式提供。
这基本上就是当我弹出一个窗口时在我的浏览器上显示的内容.svc
file:
<%@ ServiceHost Language="C#" Debug="true" Service="service.myservice" CodeBehind="myservice.svc.cs" %>
现在我已经尝试了在 SO 和其他站点上看到的所有解决方案(包括使用 IIS 重新安装 ASP.NET 绑定)aspnet_regiis
并使用恢复 WCF ISAPI 句柄servicemodelreg.exe
),但它们都不起作用。
可能值得注意的一个怪癖是 IIS 5.1 在端口 8000 上提供服务,因为 Apache 目前在默认的 80 端口上运行。这可能是罪魁祸首吗?我尝试过跑步servicemodelreg -s:myservice
尝试直接点击我的应用程序路径,但它告诉我没有这样的应用程序IIS:/localhost/myservice
(也许是因为它应该是IIS:/localhost:8000/myservice
?我不知道。)
我已经验证我已经拥有了一个功能性的 .NET 3.5 框架,.aspx
文件服务正常。这只是.svc
未正确提供服务的文件。
有任何想法吗?
如果 servicemodelreg 不起作用,请检查 .svc 是否已使用 ISAPI 映射进行设置。
转到网站属性上的主目录选项卡,选择配置...
如果 .svc 不在列表中,请使用以下参数进行设置:
- 可执行文件:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
- 扩大:
.svc
- 限制于:
GET,HEAD,POST,DEBUG
- 脚本引擎:勾选
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)