如何隐藏服务器在MyService.svc上有一个WCF服务的事实

时间:2009-10-27 21:05:36

标签: wcf

是否有办法在运行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

2 个答案:

答案 0 :(得分:1)

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>

答案 1 :(得分:1)

尝试在Web.config中将http [s] HelpPageEnabled设置为false。例如:

    <system.serviceModel>
      <behaviors>
         <serviceBehaviors>
            <behavior>
               <serviceMetadata httpGetEnabled="false" />
               <serviceDebug httpHelpPageEnabled="false"/>
            </behavior>
         </serviceBehaviors>
      </behaviors>
    </system.serviceModel>