2

我有一个 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 层中有一个快速修复程序,它只会为这些类型的异常设置内容类型,那将是更可取的。最干净的方法是什么?

4

1 回答 1

0

您可以继承 WebFaultException 并在您的项目中使用它。

public class MyWebFaultException<T>:WebFaultException<T>
{
    public MyWebFaultException(T message)
        : base(message, HttpStatusCode.BadRequest)
    {
        WebOperationContext.Current.OutgoingResponse.ContentType = "text/plain";
    }
}
于 2012-07-31T02:29:15.323 回答