我有一个WCF REST服务,其接口方法用[WebGet(..., ResponseFormat = WebMessageFormat.Json)]
注释,通常提供JSON格式的响应。现在代码表示错误:
throw new WebFaultException<string>("helpful message",HttpStatusCode.BadRequest);
问题是响应上的Content-Type仍然是application/json
,即使正文只是纯文本而不是JSON编码。我可以帮助生成我将设置WebOperationContext.Current.OutgoingResponse.ContentType = "text/plain";
的错误异常,但是如果在WCF层中有一个快速修复,那么只会为这些类型的异常设置内容类型。最干净的方法是什么?
答案 0 :(得分:0)
您可以继承WebFaultException并在项目中使用它。
public class MyWebFaultException<T>:WebFaultException<T>
{
public MyWebFaultException(T message)
: base(message, HttpStatusCode.BadRequest)
{
WebOperationContext.Current.OutgoingResponse.ContentType = "text/plain";
}
}