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

时间:2010-01-07 19:06:24

标签: c# wcf http

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

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

这可以用WebOperationContext.Current.OutgoingResponse吗?

1 个答案:

答案 0 :(得分:2)

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

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

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

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