我写了一个wcf服务,它使用BasicHttpBinding和一些url以及使用此服务的客户端。 用户应启动客户端应用程序并指定服务器端点中指定的相同URL。
但是,如果用户无意中在网络浏览器中打开此网址,他/她会看到有关如何检索服务元数据的信息,这对他们来说绝对没用。
为了让他/她看到,例如帮助主题,应该做些什么?
答案 0 :(得分:4)
您需要关闭服务元数据的发布。
您可以在Web.config中禁用它:
<serviceMetadata httpGetEnabled="false" />
您可以在此处找到有关MSDN的更多信息:
当然,如果用户在地址栏中手动输入服务的URL(例如:http://www.examle.com/service.svc),这仍然会生成默认目标网页。但是现在它会提到元数据当前已被禁用。
如果您想自定义该页面,我建议您查看以下主题,它包含有关如何设置的完整代码示例:
http://social.msdn.microsoft.com/forums/en-US/wcf/thread/5778651a-b212-438a-b3e8-f7029775d52a/
答案 1 :(得分:2)
如果您想要自定义帮助页面而不是默认页面,则需要修改ServiceDebug
行为:
<behaviors>
<serviceBehaviors>
<behavior name="...">
<serviceDebug httpHelpPageEnabled="true" httpHelpPageUrl="Your custom page url" />
</behavior>
</serviceBehaviors>
<behaviors>
HTTPS也存在相同的属性,如果有特殊要求,您也可以控制它们的“绑定”。