如何用自己的内容更改wcf服务的html输出?

时间:2011-08-29 11:39:11

标签: html wcf web-services

我写了一个wcf服务,它使用BasicHttpBinding和一些url以及使用此服务的客户端。 用户应启动客户端应用程序并指定服务器端点中指定的相同URL。

但是,如果用户无意中在网络浏览器中打开此网址,他/她会看到有关如何检索服务元数据的信息,这对他们来说绝对没用。

为了让他/她看到,例如帮助主题,应该做些什么?

2 个答案:

答案 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也存在相同的属性,如果有特殊要求,您也可以控制它们的“绑定”。