2011-10-21 87 views
6

我在SO和Google上搜索过类似的问题,但似乎无法隐藏或禁用标准WCF帮助页面“您已创建服务”你浏览到你的* .svc文件。WCF帮助页面 - 如何禁用或更改显示的URL

对我们的问题是,它显示了在那里说行了我们的服务器名和域名:

“为了测试这项服务,你需要......”

svcutil.exe http://machinename.companydomain.local/CARS.Service/ServiceCARS.svc?wsdl 

正如你所看到的,这里显示了服务器的名字以及我们公司的域名。即使您使用IP或本地主机浏览到服务,它也会选择此项。

这是一种面向外部的服务,我们不希望这些细节在组织之外提供。我试图摆弄<dns value=localhost">设置,但似乎并没有改变这个“帮助”(黑客)页面显示的内容。

那么有什么想法?如何完全禁用页面或隐藏页面中的机器名称和域名?

+0

如果它对您有帮助,您应该接受该答案。 –

回答

14

要完全禁用该页面,请执行以下操作:在web.config上,在<serviceBehavior>内定义<serviceDebug/>行为,将http[s]HelpPageEnabled属性设置为false。

<system.serviceModel> 
    <services> 
     <service name="MyNamespace.MyService" behaviorConfiguration="NoHelpPageBehavior"> 
     <endpoint address="" binding="basicHttpBinding" contract="MyNamespace.IMyContract" /> 
     </service> 
    </services> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior name="NoHelpPageBehavior"> 
      <serviceDebug httpHelpPageEnabled="false" httpsHelpPageEnabled="false"/> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    </system.serviceModel> 
+0

正是我需要的,谢谢! – Gromer

相关问题