6

我正在使用以下代码从过滤器(ActionFilterAttribute)向客户端发送错误消息。

catch (Exception)
 {
    var response = context.Request.CreateResponse(httpStatusCode.Unauthorized);
    response.Content = new StringContent("User with api key is not valid");
    context.Response = response;
 }

但问题是它仅以纯文本形式发送。我想将它作为当前格式化程序的格式发送。像 json 或 xml 的形式。

在这里我知道这是因为我使用的是 StringContent()。但是我们如何使用自定义的 Error 对象来编写呢?像,以下也不起作用:

response.Content = new Error({Message = "User with api key is not valid"});

我们如何为此编写代码?提前致谢。

4

1 回答 1

8

是的,我找到了正确的写作语法。我们可以这样写:

catch (Exception)
{
    var response = context.Request.CreateResponse(HttpStatusCode.NotFound, 
                        new Error { Message = "User with api key is not valid"});
    context.Response = response; 
}
于 2012-06-27T13:07:39.507 回答