是否有办法在运行IIS 6.0和.NET 3.5 SP1的服务器上向WCF服务(.svc文件)的直接访问请求中提供自定义的“抱歉未找到”页面。
我要求生产环境中的服务无法被发现。该要求声明WSDL发布应该关闭,并且该请求还指出,当通过HTTP Get Request直接访问MyService.svc文件时,将显示“Sorry Not found”页面。
我在配置文件中禁用元数据没有问题。
<serviceMetadata httpGetEnabled="false" />
但我无法找到一种不显示默认.svc页面的方法。
服务
这是Windows©Communication Foundation服务。
此服务的元数据发布目前已停用。
如果您有权访问该服务,则可以通过完成以下步骤来修改Web或应用程序配置文件来启用元数据发布: ...
**也发布在ServerFault。
答案 0 :(得分:1)
:
<httpHandlers>
<remove verb="*" path="*.svc" />
<add path="*.svc" verb="POST" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="false"/>
</httpHandlers>
答案 1 :(得分:1)
尝试在Web.config中将http [s] HelpPageEnabled设置为false。例如:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="false" />
<serviceDebug httpHelpPageEnabled="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>