首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# hide WCF hide endpoint not found响应

C# hide WCF hide endpoint not found响应
EN

Stack Overflow用户
提问于 2016-09-27 06:34:15
回答 2查看 207关注 0票数 4

我正在尽可能多地隐藏我的WCF。如果有人输入我的WCF的url,他们将显示响应"Endpoint not found“。如果他们尝试get请求,则会显示method not allowed,因为我的服务只接受post请求。

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

代码语言:javascript
复制
    <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>

我想显示没有响应,除非他们有确切的网址和确切的post参数。我不确定是否需要修改我的"Custom error section“。我的理解是,自定义错误只在抛出异常时才会出现。找不到终结点和不允许使用方法不是一个例外。

如有任何帮助或建议,将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-11 14:35:16

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

如果你想抛出404,你可以从OperationSelector抛出,如下所示:

代码语言:javascript
复制
...
throw new System.ServiceModel.Web.WebFaultException(System.Net.HttpStatusCode.NotFound);
...
票数 0
EN

Stack Overflow用户

发布于 2016-10-07 22:34:19

我建议将IServiceBehavior或IEnpointBehavior与IDispatchMessageInspector或IDispatchOperationSelector结合使用。这样,当接收到请求时,您可以编写代码来进行自定义响应。

我没有一个完全符合您需要的示例,但是您可以看看下面的文章,其中我修改了传出消息上的XML名称空间标记。我的想法是,如果请求不满足您的标准,您可以简单地返回null或404。还包括一些关于该主题的MSDN文章。

How can I create custom XML namespace attributes when consuming a legacy SOAP service?

https://msdn.microsoft.com/en-us/library/system.servicemodel.description.iservicebehavior(v=vs.110).aspx

https://msdn.microsoft.com/en-us/library/system.servicemodel.description.iendpointbehavior(v=vs.110).aspx

https://msdn.microsoft.com/en-us/library/system.servicemodel.dispatcher.idispatchmessageinspector(v=vs.100).aspx

https://msdn.microsoft.com/en-us/library/system.servicemodel.dispatcher.idispatchoperationselector(v=vs.100).aspx

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39713434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档