为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的 Web API 项目中出现“HttpException”缺失命名空间错误

为什么我的 Web API 项目中出现“HttpException”缺失命名空间错误

C#
噜噜哒 2022-01-16 16:18:05
在 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);        }    }}
查看完整描述

1 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

您在评论中提到您的目标是 .NET Standard 2.0。大部分System.Web库已被淘汰(我相信主要是因为它不是 .NET Core 的一部分)。

您应该以 4.x 框架为目标来重新获得对此类的访问权限。如果除了 .NET Core 和 .NET Standard 之外没有任何其他 Web 项目类型,则需要转到 Visual Studio 安装程序并选择 4.x 框架支持。

在您的 VS 版本旁边的下拉菜单下选择“修改”,

//img1.sycdn.imooc.com//61e3d4da0001a86003810245.jpg

然后选中 ASP.NET 和 Web 开发的复选框

//img1.sycdn.imooc.com//61e3d4e70001527904360135.jpg

然后,在您的新建项目对话框中,您应该会看到以下选项:


//img1.sycdn.imooc.com//61e3d4f1000142b007310107.jpg

查看完整回答
反对 回复 2022-01-16
  • 1 回答
  • 0 关注
  • 169 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信