如何从WCF REST方法创建自定义HTTP状态代码?

我想在满足特定条件时从RESTful WCF Web服务返回自定义HTTP状态代码。

我不想使用标准的HTTP状态代码; 相反,我想返回一个514状态代码,这对调用用户来说意味着什么。

这可能与WebOperationContext.Current.OutgoingResponse吗?

OutgoingResponse.StatusCode是您设置状态代码的地方,但它是一个HttpStatusCode枚举,而不是整数值。

您可以将自定义值int转换为HttpStatusCode,但我不确定框架会对它做什么; 最有可能它会抛出,但它不会伤害尝试。

虽然HTTP规范不允许自定义响应代码,但除非必须,否则可能不适合使用该路由。 也许自定义响应头会更好?

如果必须转到自定义状态代码路由,则另一个选项可能是使用ASP.NET兼容模式。 这将允许您使用HttpContext.Current.Response.StatusCode ,这是一个int。 但是,您必须在IIS中托管才能使用此function,而且我不了解您的体系结构。