如何隐藏服务器在MyService.svc上有WCF服务的事实
在运行IIS 6.0和.NET 3.5 SP1的服务器上,是否有办法从对WCF服务(.svc文件)的直接访问请求提供自定义“抱歉找不到”页面 我有一个要求,即我在生产环境中的服务是不可发现的。该要求声明WSDL发布应该关闭,并且该请求还声明,当通过HTTP Get请求直接访问MyService.svc文件时,将显示一个“Sorry Not found”页面 禁用配置文件中的元数据没有问题如何隐藏服务器在MyService.svc上有WCF服务的事实,wcf,Wcf,在运行IIS 6.0和.NET 3.5 SP1的服务器上,是否有办法从对WCF服务(.svc文件)的直接访问请求提供自定义“抱歉找不到”页面 我有一个要求,即我在生产环境中的服务是不可发现的。该要求声明WSDL发布应该关闭,并且该请求还声明,当通过HTTP Get请求直接访问MyService.svc文件时,将显示一个“Sorry Not found”页面 禁用配置文件中的元数据没有问题 但是我想不出一种不显示default.svc页面的方法 服务 这是一个WINDOWS通信基础服务。 此服务
但是我想不出一种不显示default.svc页面的方法
服务这是一个WINDOWS通信基础服务。 此服务的元数据发布当前已禁用。 如果您有权访问该服务,则可以通过完成以下步骤来修改web或应用程序配置文件来启用元数据发布: **也发布在web.config中的。:
<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>
尝试在Web.config中将http[s]HelpPageEnabled设置为false。例如:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="false" />
<serviceDebug httpHelpPageEnabled="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
您是否尝试过关闭httpGetEnabled?这不正是您所需要的吗?在服务器故障时发布响应(属于服务器故障吗?)。我不会怪你的。。。serverfault是问题的归宿。为了澄清问题,ServiceMetadata(WSDL定义)的httpGetEnabled设置为False。但您仍然会返回通用的“这是一个服务”页面。此外,我在Stackoverflow中发布的ServerFault可能不知道关于web.config的许多详细信息,其中最有可能的答案(如果有)。另外,如果使用SSL,还将设置属性httpsGetEnabled
和httsHelpPageEnabled
,分别地