当前位置: 首页 > news >正文

贵阳网站建设网站制作短视频营销的正确步骤

贵阳网站建设网站制作,短视频营销的正确步骤,重庆大足网站制作公司,企业网站建设的报价异常是一种运行时错误#xff0c;当异常没有得到适当的处理#xff0c;很可能会导致你的程序意外终止#xff0c;这篇就来讨论一下如何在 ASP.Net Core MVC 中实现全局异常处理#xff0c;我会用一些 样例代码 和 截图 来说明这些概念。全局异常处理 其实在 ASP.Net Core M… 异常是一种运行时错误当异常没有得到适当的处理很可能会导致你的程序意外终止这篇就来讨论一下如何在 ASP.Net Core MVC 中实现全局异常处理我会用一些 样例代码 和 截图 来说明这些概念。全局异常处理 其实在 ASP.Net Core MVC 框架中已经有了全局异常处理的机制你可以在一个中心化的地方使用 全局异常处理中间件 来进行异常拦截如果不用这种中心化方式的话你就只能在 Controller 或者 Action 作用域上单独处理这会导致异常处理代码零散在项目各处不好维护也特别麻烦不是吗第二种处理 全局异常 的做法就是使用 exception filter在本篇中我准备跟大家聊一聊 全局异常处理中间件 和 UseExceptionHandler 方法来管控异常。使用 UseExceptionHandler 扩展方法 UseExceptionHandler 扩展方法能够将 ExceptionHandler 中间件注册到 Asp.net Core 的 请求处理管道 中然后在 IExceptionHandlerFeature 接口的实例中获取 异常对象下面的代码片段展示了如何使用 UseExceptionHandler 方法来截获全局异常。public void Configure(IApplicationBuilder app, IWebHostEnvironment env){app.UseExceptionHandler(builder {builder.Run(async context {context.Response.StatusCode  (int)HttpStatusCode.InternalServerError;context.Response.ContentType  application/json;var exception  context.Features.GetIExceptionHandlerFeature();if (exception ! null){var error  new ErrorMessage(){Stacktrace  exception.Error.StackTrace,Message  exception.Error.Message};var errObj  JsonConvert.SerializeObject(error);await context.Response.WriteAsync(errObj).ConfigureAwait(false);}});});app.UseStaticFiles();app.UseRouting();app.UseAuthorization();app.UseEndpoints(endpoints {endpoints.MapControllerRoute(name: default,pattern: {controllerHome}/{actionIndex}/{id?});});}下面是代码中引用的 ErrorMessage 类的定义。public class ErrorMessage{public string Message { get; set; }public string Stacktrace { get; set; }}配置 全局异常中间件 大家都知道ASP.Net Core MVC 项目中都会有一个 Startup.cs 文件可以在 Configure 方法下配置 全局异常拦截中间件 代码如下所示public void Configure(IApplicationBuilder app, IHostingEnvironment env){if (env.IsDevelopment()){app.UseDeveloperExceptionPage();}else{app.UseExceptionHandler(/Error);}app.UseStaticFiles();app.UseCookiePolicy();app.UseMvc(routes {routes.MapRoute(name: default,template:{controllerHome}/{actionIndex}/{id?});});}可以着重看一下上面的 app.UseExceptionHandler(/Error);这里的 UseExceptionHandler 实现了 pipeline 注册一旦应用程序出现了未处理异常那么会自动将 用户 导向 /Error 页面。你可以用 UseStatusCodePagesWithReExecute 扩展方法给 pipeline 添加一些状态码页面这是什么意思呢其实也就是 http 500 导向 500 页面 http 404 导向 404 页面下面的代码片段展示了修改后的 Configure 方法代码。public void Configure(IApplicationBuilder app, IHostingEnvironment env){if (env.IsDevelopment()){app.UseDeveloperExceptionPage();}else{app.UseExceptionHandler(/Error);app.UseStatusCodePagesWithReExecute(/Error/NotFound/{0});}//Other code}使用 ErrorController 在 HomeController 下有一个专门处理错误的 action 方法这里我们不使用这个 action你可以把它删掉接下来我准备定义一个专门的 ErrorController里面包含了一个路由为 /Error 的 action 方法。public class ErrorController : Controller{[HttpGet(/Error)]public IActionResult Index(){IExceptionHandlerPathFeature iExceptionHandlerFeature  HttpContext.Features.GetIExceptionHandlerPathFeature();if (iExceptionHandlerFeature ! null){string path  iExceptionHandlerFeature.Path;Exception exception  iExceptionHandlerFeature.Error;//Write code here to log the exception detailsreturn View(Error,iExceptionHandlerFeature);}                return View();}[HttpGet(/Error/NotFound/{statusCode})]public IActionResult NotFound(int statusCode){var iStatusCodeReExecuteFeature HttpContext.Features.GetIStatusCodeReExecuteFeature();return View(NotFound,iStatusCodeReExecuteFeature.OriginalPath);}}你可以用 IExceptionHandlerPathFeature 来获取异常相关信息也可以用 IStatusCodeReExecuteFeature 来获取 http 404 异常时当时的请求路径对了要想用上 IExceptionHandlerPathFeature 和 IStatusCodeReExecuteFeature,要记得在 nuget 上安装了 Microsoft.AspNetCore.Diagnostics 包下面的代码展示了如何获取异常发生时刻的路由地址。 string route  iExceptionHandlerFeature.Path;如果想获取异常的详细信息可以使用如下语句。 var exception  HttpContext.Features.GetIExceptionHandlerPathFeature();一旦获取了这个路由地址和异常的详细信息就可以将它记录到你的日志文件中可供后续仔细分析。使用 View 展示错误信息 可以创建一个 View 来展示出现的错误信息下面时 Error ViewPage 的详细代码。 model Microsoft.AspNetCore.Diagnostics.IExceptionHandlerFeature {ViewData[Title]  Index;Layout  ~/Views/Shared/_Layout.cshtml; } div classrowdiv classtext-dangerh3Error: Model.Error.Message/h3/div /div div classrowdiv classcol-12pModel.Error.StackTrace/ppModel.Error.InnerException/p/div /div下面是 NotFound 页面的 代码 model string {ViewData[Title]  NotFound;Layout  ~/Views/Shared/_Layout.cshtml; }h1 classtext-dangerError: The requested URL Model was not found!/h1 hr /现在可以把程序跑起来了你会看到如下的错误信息。如果你尝试打开一个不存在的页面 会自动跳转到 ErrorController.NotFound 所包装的 404 描述信息。ASP.NET Core 中内置了 全局异常处理你可以利用这项技术在一个集中化的地方去截获你应用程序中的所有异常信息当然你也可以基于环境的不同采取不用的异常处理措施比如说开发环境测试环境生产环境 等等。译文链接https://www.infoworld.com/article/3435771/how-to-implement-global-exception-handling-in-aspnet-core-mvc.html
http://www.pierceye.com/news/903511/

相关文章:

  • 网站开发 定制 多少 钱小程序加盟代理前景
  • 河南网站建设官网wordpress博客主题哪个好
  • 网站建设会计帐务处理青岛发现51例阳性
  • 保定三金网络科技有限公司windows优化大师是哪个公司的
  • 华丰建设股份有限公司网站深圳影视广告在哪里好
  • 企业建设网站需要服务器吗谷德设计网官网首页入口
  • 新手学做网站步骤天津制作网站的公司电话
  • 做网站同行php网站开发平台下载
  • 国外风格网站企业宣传片制作公司哪家好
  • 如何做双版网站wordpress 36kr
  • 东莞企石网站设计最新便民信息汇总
  • 浏阳做网站公司做网站app优惠活动的
  • 商务网站开发公司2021网页qq登陆
  • vs 网站开发教程docker 部署wordpress
  • 平面网站设计wordpress数据表更换域名
  • 上海网站设计合理柚v米科技济南网站优化公司电话
  • 卓拙科技做网站吗怎么用php做网站后台程序
  • 山东企业建站系统费用抚宁区建设局网站
  • 免费购物网站程序国外公共空间设计网站
  • 网站 选项卡 图标网站 关键词
  • 怎样在各大网站做有效的宣传抽奖网站怎么做的
  • 建立网站需要多少钱 索 圈湖南岚鸿新开传奇网站合击
  • 快手官方网站音乐人怎么做商城建站系统源码
  • 南充市建设厅官方网站高州做网站
  • 自建网站的优缺点wordpress题库制作
  • 哪家公司做网站毕业设计心理评测网站开发
  • 建设电影网站数据库脚本问答网站如何优化
  • 嘉峪关建设路小学网站游戏网页链接
  • 阿里云 网站根目录广东建筑企业50强
  • 河北省网络科技网站装饰设计素描