После ASP.NET Web Api 2 При создании службы REST от начала до конца я наткнулся на ошибку пространства имен, которую не могу устранить специально для ссылки HttpException.
var httpException = exception as HttpException;
Я использую C #, и я видел только этот стиль, используемый в VB.NET, поэтому может возникнуть некоторая проблема с тем, какой стиль синтаксиса ожидается. Предложение по исправлению продолжает пытаться строчные буквы h, чтобы сделать httpException, но ожидается HttpException
Вот полный код:
using System.Net;
using System.Net.Http;
using System.Web; // bad practice: not usually supposed to be used on non
// web application projects
using System.Web.Http.ExceptionHandling;
using WebApi2Book.Data.Exceptions;
namespace WebApi2Book.Web.Common.ErrorHandling
{
public class GlobalExceptionHandler : ExceptionHandler
{
public override void Handle(ExceptionHandlerContext context)
{
var exception = context.Exception;
var httpException = exception as HttpException; <- red squiggle
if (httpException != null)
{
context.Result = new SimpleErrorResult(context.Request, (HttpStatusCode)httpException.GetHttpCode(), httpException.Message);
return;
}
if (exception is RootObjectNotFoundException)
{
context.Result = new SimpleErrorResult(context.Request, HttpStatusCode.NotFound, exception.Message);
return;
}
if (exception is ChildObjectNotFoundException)
{
context.Result = new SimpleErrorResult(context.Request, HttpStatusCode.Conflict, exception.Message);
return;
}
context.Result = new SimpleErrorResult(context.Request, HttpStatusCode.InternalServerError, exception.Message);
}
}
}