次の例外フィルターがあります。
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エラーページが返される理由と、空または有効なコンテンツを返す方法を知っている人はいますか?