作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个使用 wsHttpBinding 在地址上托管的服务(主机基地址是 http://localhost/MyService )。
在我的契约(Contract) (IMyService
) 中,我有:
[OperationContract]
[WebInvoke(
Method = "GET",
UriTemplate = "/")]
Stream GetRootPage();
如果我运行我的服务并浏览到 http://localhost/MyService/ ,效果很好。如果我浏览到 http://localhost/MyService ,我看到一个默认的 WCF 页面,表明该服务未启用元数据发布服务。
我尝试了 UriTemplate 的各种组合:
结合服务基址:
所有这些都会产生相同的行为。在之前的某个时刻,我可以发誓这是有效的,尽管我认为我可能一直在 UriTemplate 中使用子路径。我知道,如果我的 UriTemplate 为“/abc/123/”,我可以浏览到/abc/123(不带尾部斜杠),因为 WCF 实际上会自动发出 HTTP 307 重定向。
我正在使用 .NET 4.0。
最佳答案
我想出了如何做到这一点:
确保禁用默认 WSDL 生成(或至少不使用默认 URL):
<serviceMetadata httpGetEnabled="false" httpsGetEnabled="false" />
确保帮助 URL 已禁用:
<serviceDebug httpHelpPageEnabled="false" httpsHelpPageEnabled="false" />
关于.net - 如何在服务根地址(不带尾部斜杠)托管 WCF REST 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7450140/
我是一名优秀的程序员,十分优秀!