这个问题最初是针对 Azure Service Fabric,因为那是我的部署模型。但我很清楚这是一个 WCF 问题,所以我正在重新措辞以更好地适应它。问题的原始文本在下面以黄色突出显示。
我创建了一个自托管的 WCF 应用程序,它通过端口 80 和 443 公开了一个简单的 Restful WebApi。我的所有端点都按预期工作,就像我在 IIS 中托管相同的代码时一样。问题是,当我通过尝试访问不存在的路径来执行否定测试时,我得到 HTTP 503 错误,而不是我期望的 HTTP 404。
有人向我指出,这可能与 http.sys 有关,因为这是处理传入请求的内容。那么我该如何解决这个问题呢?这肯定是自托管 WCF 应用程序的常见问题。有没有办法让 http.sys 或我的应用程序和用户之间的任何组件返回更有意义的错误,如 404?
关于为什么会这样以及如何解决它的任何想法?
我已经设置了一个无状态服务 WebApi,它通过端口 80 从我的 SF 集群公开暴露。该 api 运行良好,但我注意到如果我在任何无效路径上执行 HTTP 请求,例如“GET http:/ /mycluster.westus.cloudapp.azure.com/thisisinvalid “我正在返回 HTTP 503 状态。我希望是 404,因为 503 具有误导性,会让我的客户感到困惑。顺便说一下,我的无状态服务是基于 WCF 的 WebApi。