在下面的代码(下面)中,ReasonPhrase似乎被忽略并在XHR请求中默认为“Not Found”,并且出于某种原因适用于非XHR请求。
pipelines.OnError += (ctx, ex) =>
{
var response = ex is NotFoundException ? new Response
{
StatusCode = HttpStatusCode.NotFound,
ReasonPhrase = ex.Message
}
: new Response
{
StatusCode = HttpStatusCode.BadRequest,
ReasonPhrase = "An unexpected error has occurred."
};
return response;
};
(是的,我不得不删掉一些东西,但请相信我,没有其他不同之处 - 唯一的区别只是XHR或XHR)。
我还设置了一个返回响应的断点。事实上,每次使用正确的ReasonPhrase返回正确的响应(对于XHR和非XHR请求),但是XHR请求总是只将“未找到”的ReasonPhrase返回给客户端(根据Google Chrome的开发者工具和高级休息)客户端Chrome应用)。