【发布时间】:2019-02-18 17:13:09
【问题描述】:
按照 ASP.NET Web Api 2 Building a REST Service from Start to Finish 一书,我遇到了一个命名空间错误,我无法专门针对 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);
}
}
}
【问题讨论】:
-
您的确切错误信息是什么?
-
@DavidG 找不到类型或命名空间“HttpException”(您是否缺少 using 指令或程序集引用?)
-
@AdamMartin 这是一个很好的资源,但我不知道我是否应该实施自己的修复,因为我正在学习一本书,我希望有一个框架或语法答案跨度>
-
您的项目针对的是哪个框架?
标签: c# asp.net namespaces