我在SO和Google上搜索了类似的问题,但是当您浏览到* .svc文件时,似乎无法隐藏或禁用标准WCF帮助页面“您已创建服务”。
我们面临的问题是,它在显示的行中显示了我们的服务器名称和域名:
“要测试此服务,您需要......”
svcutil.exe http://machinename.companydomain.local/CARS.Service/ServiceCARS.svc?wsdl
如您所见,此处显示服务器名称以及公司域名。即使您使用IP或localhost浏览到该服务,它也会选择此选项。
这是一项面向外部的服务,我们不希望在orginization之外提供这些细节。我试图摆弄<dns value=localhost">
设置,但这似乎并未改变此“帮助”(黑客)页面上显示的内容。
那么任何想法?如何完全禁用页面或隐藏页面中的机器名称和域名?
答案 0 :(得分:14)
要完全禁用该页面:在web.config上,在<serviceDebug/>
属性设置为false的<serviceBehavior>
内定义http[s]HelpPageEnabled
行为。
<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>