2
我有以下異常過濾器:爲什麼Asp.NET WebApi在使用ExceptionFilter的響應中呈現IIS錯誤頁面?
public class ServiceLayerExceptionFilter : ExceptionFilterAttribute
{
public override void OnException(HttpActionExecutedContext context)
{
if (context.Result == null)
{
context.Result = new HttpResponseMessage();
}
context.Result.StatusCode = context.Exception.ConvertToHttpStatus();
base.OnException(context);
}
}
我ConvertToHttpStatus()僅僅是一個擴展,它查找異常類型,其映射到HttpStatusCodes的Dictionary對象。 http狀態代碼正在正確轉換。但是,在響應有效負載中,我得到一個IIS錯誤頁面。最好我想讓這個響應爲空,或者更好的是將異常消息作爲json傳遞。有誰知道我爲什麼得到返回的IIS錯誤頁面,以及如何返回空的或有效的內容?
什麼是「Accept」標頭?它是「beta」還是每晚構建*? – Aliostad
這是使用NuGet包進行測試版。請求中的Accept頭是:Accept:*/* – jaffa
那麼這是什麼問題?您正在接受所有內容,系統會向您發送HTML。使用'accept:application/json'並且應該給你發送JSON響應。 – Aliostad