C#隐藏WCF隐藏端点未找到响应

我试图尽可能地隐藏我的WCF.如果有人将网址输入我的WCF,则会显示响应“未找到端点”.如果他们尝试获取请求,则会显示不允许的方法,因为我的服务只接受发布请求.

我的web.config中已经包含以下内容

    <behaviors>
      <endpointBehaviors>
        <behavior name="webBehavior">
          <webHttp helpEnabled="false" />
        </behavior>
      </endpointBehaviors>
      <serviceBehaviors>
        <behavior name="Default">
          <serviceDebug includeExceptionDetailInFaults="False" />
          <serviceMetadata httpGetEnabled="false" httpsGetEnabled="false" />
        </behavior>
      </serviceBehaviors>
    </behaviors>

我想显示没有响应,除非他们有确切的网址和确切的帖子参数.我不确定是否需要更改“自定义错误部分”.我的理解是自定义错误仅适用于抛出异常的情况.找不到端点,不允许使用方法也不例外.

任何帮助或建议将不胜感激.

最佳答案 阅读这篇文章
https://blogs.msdn.microsoft.com/carlosfigueira/2011/05/09/wcf-extensibility-operation-selectors/

如果要抛出404,可以从OperationSelector中抛出它,如下所示:

...
throw new System.ServiceModel.Web.WebFaultException(System.Net.HttpStatusCode.NotFound);
...
点赞