我想在满足特定条件时从RESTful WCF Web服务返回自定义HTTP状态代码。
我不想使用标准的HTTP状态代码;相反,我想返回一个514状态代码,这对调用用户来说意味着什么。
这可以用WebOperationContext.Current.OutgoingResponse
吗?
答案 0 :(得分:2)
OutgoingResponse.StatusCode是您设置状态代码的地方,但它是HttpStatusCode枚举,而不是整数值。
您可以将自定义值int强制转换为HttpStatusCode,但我不确定该框架会对它做什么;最有可能抛出,但尝试不会有害。
虽然HTTP规范不允许自定义响应代码,但除非必须,否则可能不适合使用该路由。也许自定义响应头会更好?
如果必须使用自定义状态代码路由,则另一个选项可能是使用ASP.NET兼容模式。这将允许您使用HttpContext.Current.Response.StatusCode,这是一个int。但是,您必须在IIS中托管才能使用此功能,而且我不了解您的架构。