首页 > 作文

在 ASP.NET Core 中为 gRPC 服务添加全局异常处理

更新时间:2023-04-04 10:59:48 阅读: 评论:0

目录
一、咨询区dmitriy二、回答区valentasm三、点评区

以下文章来源于公众号:dotnetcore实战

一、咨询区

dmitriy

asp.net core 中使用grpc.aspnetcore 工具包写 grpc 服务,想实现 grpc 的异常全局拦截,

代码如下:

app.uexceptionhandler(configure =>{  configure.run(async e =>  {    console.writeline("exception test code");  });});

然后注入到 rvicecollection 容器中:

rvices.ad醋泡大蒜的功效dmvc(options =>{  options.filters.add(typeof(baexceptionfilter));});

奇怪的是,这段代码并不能实现拦截功能,我是真的不想让 try-catch 包裹所有的办法,太痛苦了。

二、回答区

valentasm

我们可以给 grpc 添加一个自定义拦截器,先看一下类定义:

using system;using system.collections.generic;using system.linq;using system.threading.tasks;using grpc.core;using grpc.core.interceptors;using microsoft.extensions.logging;namespace systemx.webrvice.rvices{  public class rverloggerinterceptor : interceptor  {    private readonly ilogger<华东五市旅游景点rverloggerinterceptor> _logger;    public rverloggerinterceptor(ilogger<rverloggerinterceptor> logger)    {      _logger = logger;    }    public override async ta黄山自驾游sk<trespon> unaryrverhandler<trequest, trespon>(      trequest request,      rvercallcontext context,      unaryrvermethod<trequest, trespon> continuation)    {      //logcall<trequest, tres重阳节好词好句摘抄pon>(methodtype.unary, context);      try      {        return await continuation(request, context);      } 艺考文化课学习     catch (exception ex)      {        // note: the grpc framework also logs exceptions thrown by handlers to .net core logging.        _logger.logerror(ex, $"error thrown by {context.method}.");                throw;      }    }     }}

接下来就可以在 startup 中通过 addgrpc 注入啦:

rvices.addgrpc(options =>{  {    options.interceptors.add<rverloggerinterceptor>();    options.enabledetailederrors = true;  }});

三、点评区

grpc 早已经替代 wcf 成功一种基于tcp的跨机器通讯技术,看得出 grpc 和 asp.net core 集成越来越好,是得需要大家花费精力好好学习。

到此这篇关于在 asp.net core 中为 grpc 服务添加全局异常处理 的文章就介绍到这了,更多相关在 asp.net core 中为 grpc 服务添加异常处理 内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

本文发布于:2023-04-04 10:59:46,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/b3d74ad4d3f69f96941dfbb88e81035b.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:在 ASP.NET Core 中为 gRPC 服务添加全局异常处理.doc

本文 PDF 下载地址:在 ASP.NET Core 中为 gRPC 服务添加全局异常处理.pdf

标签:异常   全局   文章   中为
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图