首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >ASP.NET Core 使用记录2

ASP.NET Core 使用记录2

作者头像
Echo_Wish
发布2023-11-30 19:22:33
发布2023-11-30 19:22:33
4700
举报

网站地址: 如何在.NET Core SDK版本之间切换

.net sdk 版本的切换

版本更改命令:dotnet new globaljson --sdk-version 版本 --force

CultureInfo

System.Globalization 程序集下的类 它 提供有关特定区域性(对于非托管代码开发,则称为“区域设置”)的信息。 这些信息包括区域性的名称、书写系统、使用的日历、字符串的排序顺序以及对日期和数字的格式化设置。 简而言之,就是提供一些关于一些区域的文化信息。

API 和 SDK的区别

api 就是服务接口,可以供所有人调用,但对于不同语言的开发者而言,他们调用api大体流程相同但总是需要编写请求的代码。对于需要经常调用这个api的开发者而言,当然是不希望每次调用都需要编写请求得代码,希望能有更方便得调用,那么 sdk应运而生, 它就是对api调用的进一步封装,对于经常使用开发者而言,只需要下载sdk,直接使用服务即可,不需要关心内部的api调用方式过程。

动态代理AOP功能
  1. 安装NuGet 包:Autofac.Extras.DynamicProxy

AOP 的概念这里就不在赘述,和 dotNET Core 内置的拦截器(Filter、中间件)的区别是 Autofac 的 AOP 针对具体业务方法而不是 HTTP 请求。

  1. 创建 UserServiceInterceptor 拦截类,继承自 IInterceptor:
代码语言:javascript
复制
public class UserServiceInterceptor:IInterceptor
{
    public virtual void Intercept(IInvocation invocation)
    {
        Console.WriteLine($"{DateTime.Now}: 方法执行前");
        invocation.Proceed();
        Console.WriteLine($"{DateTime.Now}: 方法执行后");
    }
}

2、修改 Startup 类中的 ConfigureContainer 方法,进行 AOP 的注册:

代码语言:javascript
复制
public void ConfigureContainer(ContainerBuilder builder)
{
    builder.RegisterType<UserServiceInterceptor>();
    builder.RegisterType<UserService>().As<IUserService>()
        .EnableInterfaceInterceptors()
        .InstancePerLifetimeScope();
}
  • 注册 UserServiceInterceptor 拦截器
  • 注册 UserService 服务的时候调用 EnableInterfaceInterceptors 启用拦截器

3、修改 UserService 类,添加 AOP 特性标记:

代码语言:javascript
复制
[Intercept(typeof(UserServiceInterceptor))]
public class UserService: IUserService
{
    //public IDeptService DeptService { get; set; }
    public string GetUserName()
    {
        Console.WriteLine($"{DateTime.Now}: 方法执行中");
        return "oec2003";
        //return $"oec2003({DeptService.GetDeptName()})";
    }
}

4、调用结果如下:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • .net sdk 版本的切换
  • CultureInfo
  • API 和 SDK的区别
    • 动态代理AOP功能
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档