2010-01-07 46 views
2

我想在满足特定条件时从RESTful WCF Web服务返回自定义HTTP状态码。如何从WCF REST方法创建自定义HTTP状态码?

我不想使用标准的HTTP状态码;相反,我想返回例如514状态码,这对于主叫用户意味着什么。

这可能与WebOperationContext.Current.OutgoingResponse

回答

2

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

您可以将自定义值int转换为HttpStatusCode,但我不确定该框架将如何处理它;它很可能会抛出,但尝试不会伤害。

虽然HTTP规范并不禁止自定义响应代码,但除非必须,否则可能不是一个好主意。也许自定义响应标题会更好?

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