
.netCore
hahahzzzzz
这个作者很懒,什么都没留下…
展开
-
代码异常(递归).NO.1
在 set 访问器中,直接调用了 LinkTableName = value;,这会导致无限递归,因为 LinkTableName 的 set 访问器会再次被调用。不在set中进行赋值,删除LinkTableName = value;代码编译不会报错,但是运行到这程序会闪退。原创 2025-02-22 12:30:49 · 172 阅读 · 0 评论 -
.NetCor支持跨域
.NetCor支持跨域一、Get请求1. 前端代码2. 后端代码二、Post请求1. 前端代码2. 后端代码2.1 接口代码2.2 Startup.cs代码总结一、Get请求1. 前端代码$.ajax({ type: "get", async: false, url: 'http://127.0.0.1:10801/api/CrossDomain', // 1 dataType: "jsonp", jsonp: "callbackparam",//传递给请求处原创 2021-11-08 15:02:49 · 453 阅读 · 0 评论 -
25 | 路由与终结点
1. 路由注册方式路由模板的方式(MVC页面的Web配置) RouteAttribute方式(更适合WebApi)2. 路由约束类型约束 范围约束 正则表达式 是否必选 自定义IRouteConstraint3. URL生成LinkGenerator IUrlHelper4. 注册Swagger并将xml文件注入如果没有xmlwen文件:项目->鼠标右键->属性->生成->输出->XML文档文件(勾选) serv原创 2021-07-24 13:38:16 · 271 阅读 · 1 评论 -
24 | 文件提供程序
1. 文件提供程序核心类型IFileProvider IFileInfo IDirectoryContents2. 内置文件提供程序PhysicalFileProvider (物理文件的提供程序) EmbeddedFileProvider (嵌入式的文件提供程序) CompositeFileProvider (组合文件提供程序)3.PhysicalFileProvider 代码 IFileProvider prov = new PhysicalFilePro.原创 2021-07-24 11:48:23 · 231 阅读 · 0 评论 -
22 | 异常处理中间件
1. 处理异常的方式异常处理页 异常处理委托匿名方法 IExceptionFilter ExceptionFilterAttribute2. 自定义异常过滤器(IExceptionFilter) public interface IKnownException { public string Message { get; } public int ErrorCode { get; } public object[] Erro原创 2021-07-24 10:23:32 · 226 阅读 · 0 评论 -
21 | 中间件
1. 核心对象IApplicationBuilderRequestDelegate2. 注册委托的方式注册逻辑Startup.cs文件 public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { //注册委托的方式注册逻辑 app.Use(async (context, next) => ...原创 2021-07-23 17:04:37 · 132 阅读 · 0 评论 -
20 | 结构化日志组件Serilog
1. 结构化日志的好处易于检索 易于分析统计2. 应用场景实现日志预警 实现上下文的关联 实现与追踪系统的集成3. Nuget安装包SerilogSerilog.AspNetCore4. 实现代码 public class Program { public static IConfiguration Configuration { get; } = new ConfigurationBuilder() .SetBase原创 2021-07-22 22:26:21 · 362 阅读 · 0 评论 -
19 | 日志作用域,解决不同请求之间的日志干扰
1. 应用场景一个事务包含多条操作时 复杂流程的日志关联时 调用链追踪与请求处理过程对应时2. 核心配置配置文件中(appsettings.json)添加"IncludeScopes": true, "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Li.原创 2021-07-22 20:04:55 · 129 阅读 · 0 评论 -
18 | 日志框架
1. 日志框架默认会读取appsettings.json 的配置console是自己新家的,用于指定控制台日志的输出方式,NET_Core.Controllers.WeatherForecastController 是指定对应命名空间下的日志级别,这意味着每个命名空间的日志级别可以单独配 "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "War.原创 2021-07-22 11:06:45 · 120 阅读 · 0 评论 -
17 | .NetCore为数据选项添加验证
1. 三种验证方法直接注册验证函数 实现 IValidateOptions<TOptions> 使用Microsoft.Extensions.Options.DataAnnotations2.直接注册验证函数代码 public static class OrderServiceExtensions { public static IServiceCollection AddOrderService(this IServiceCollection s.原创 2021-07-19 22:43:29 · 443 阅读 · 0 评论 -
.NetCore选项数据热更新
1. 关键类型IOptionsMonitor<outTOptions> IOptionsSnapshot<outTOptions>2. 场景范围作用域类型(AddScoped)使用 IOptionsSnapshot 单例服务(AddSingleton)使用IOptionsMonitor3. 通过代码更新选项IPostConfigureOptions<TOptions>4.IOptionsSnapshot热更新代码 public i...原创 2021-07-19 22:18:36 · 509 阅读 · 0 评论 -
.NetCore选项组件服务组件集成配置
1. 特性支持单例模式读取配置 支持快照 支持配置变更通知 支持运行时动态修改选项值2. 设计原则接口分离原则(ISP),我们的类不应该依赖它不使用的配置 关注点分离(Soc),不同组件、服务、类之间的配置不应互相依赖或耦合3. 建议为我们的服务设计 XXXOptions 使用 IOptions<XXXOptions> ,IOptionsSnapshot<XXXOptions> ,IOptionsMonitor<XXXOptions> 作为服务.原创 2021-07-19 18:30:11 · 219 阅读 · 0 评论 -
.NetCore自定义配置数据源
1. 扩展步骤实现 IConfigurationSource 实现 IConfigurationProvider 或者 ConfigurationProvider 实现 AddXXX 扩展方法2. 实现ConfigurationProvider 代码 internal class MyConfigProvider : ConfigurationProvider { Timer timer; public MyConfigProvider() .原创 2021-07-19 16:05:12 · 401 阅读 · 0 评论 -
.NetCore使用强类型绑定配置
1. 特性支持将配置值绑定到已有对象 支持将配置值绑定到私有属性上2. 安装包Microsoft.Extensions.Configuration.Binder3. 常规用法 public static void Main(string[] args) { var build = new ConfigurationBuilder(); //optional=false,文件不存在的时候会报错,reload原创 2021-07-18 13:11:27 · 423 阅读 · 0 评论 -
.NetCore文件配置
1. 安装包(根据不同格式安装不同的)Microsoft.Extensions.ConfigurationMicrosoft.Extensions.Configuration.AbstractionsMicrosoft.Extensions.Configuration.JsonMicrosoft.Extensions.Configuration.IniMicrosoft.Extensions.Configuration.Xml2. 特性指定文件可选,必选 指定是否监视文件的原创 2021-07-18 11:24:26 · 380 阅读 · 0 评论 -
.NetCore环境变量配置
1. 安装包Microsoft.Extensions.Configuration.AbstractionsMicrosoft.Extensions.ConfigurationMicrosoft.Extensions.Configuration.EnvironmentVariables2. 特性对于配置的分层键,支持用双下划线“__”代替冒号“:” 支持根据前缀加载3. 添加配置1. 右键项目->属性->调试->环境变量2. 添加如下环境变量3.原创 2021-07-17 11:21:43 · 1020 阅读 · 1 评论 -
.NetCore命令行配置
1. 安装包Microsoft.Extensions.Configuration.AbstractionsMicrosoft.Extensions.ConfigurationMicrosoft.Extensions.Configuration.CommandLine2. 添加命令行配置1. 右键项目->属性->调试->启动程序参数2. 添加如下:CommandKey1=value1 --CommandKey2=value2 /CommandKey3=value3原创 2021-07-17 10:51:11 · 346 阅读 · 0 评论 -
.NET Core开发实战-07-Autofac
1. 什么情况下需要引入第三方容器组件基于名称的注入需要把一个服务按照名称来区分它不同的实现的时候,属性注入1. 之前注入方式有FromService的方式,还有构造函数入参的方式2. 属性注入就是直接把服务注册到某一个类的属性里面去,而不需要定义构造函数子容器 基于动态代理的AOP需要在服务中注入我们额外的行为的时候,可以用动态代理的能力。2. Nuget包Autofac.Extensions.DependencyInjection Autofac.Extras.Dy原创 2021-07-12 22:58:42 · 574 阅读 · 0 评论 -
.NetCore注册服务
.NetCore注册服务一、注册服务不同生命周期的服务生命周期1. 单例2. 作用域3. 瞬时(暂时)二、花式注册1. 直接注入实例2. 通过工厂方式注册三、尝试注册1. TryAddSingleton2. TryAddEnumerable四、移除和替换注册1. Replace2. RemoveAll五、注册泛型模板六、两种依赖注入的实例的获取方法通过Controller的构造函数[FromServices]一、注册服务不同生命周期的服务生命周期1. 单例services.AddSingleton原创 2021-07-02 17:56:19 · 1837 阅读 · 0 评论 -
每周学习笔记(第二周)
2021-03-29 ~ 2021-04-04一、AddSingleton AddScoped AddTransient基本解释未解之谜一、AddSingleton AddScoped AddTransient基本解释AddTransient:瞬时模式,每次请求,都获取一个新的实例。即使同一个请求获取多次也会是不同的实例AddScoped:每次请求,都获取一个新的实例。同一个请求获取多次会得到相同的实例AddSingleton:单例模式,每次都获取同一个实例未解之谜AddSinglet原创 2021-04-05 19:11:59 · 307 阅读 · 2 评论 -
每周学习笔记(第一周)
2021-03-28 ~ 2021-03-28前言一、.NetCore读取配置json文件1、 json文件格式如下2、 .NetCore读取方式二、RabbitMq用法1、官方文档2、官方文档欠缺的地方3、示例代码4、备注说明三、锁1、 使用场景2、我的代码3、途中遇到问题4、结论5、未解之谜6、总结4、获取继承某个类的所有类5、定时类的另一种玩法(BackgroundService)1、说明2、后台服务前言每周的学习笔记,记录学到的和还不懂的一、.NetCore读取配置json文件1、 jso原创 2021-03-28 23:11:25 · 258 阅读 · 0 评论 -
Python3调用.NET DLL
关键代码import clr #安装 pythonnet包,不要安装clrprint('开始测试调用DLL')# 引用Dll,不需要添加后缀client = clr.AddReference('UtilORM')print(client)from UtilORM import ErpCommandcom = ErpCommand()result = com.TestPyCall('aaa')print(result)碰到问题我这个DLL有很多相关依赖得DLL,全放到对应目录就可以原创 2021-03-26 12:14:20 · 606 阅读 · 0 评论 -
docker部署.netCore引用Swagger问题
问题程序更新时,我直接替换新生成的文件,Swagger会显示异常,出不来页面,看不到具体的正常的页面解决办法重启服务原创 2021-03-21 16:19:39 · 733 阅读 · 0 评论 -
.NetCore 自定义过滤器
NetCore自定义过滤器新建过滤器代码/// <summary>/// 结果日志过滤器/// 接口处理数据完,记录处理后的结果日志/// </summary>public class ResultLogFilter : ActionFilterAttribute{ private readonly ILogger<ResultLogFilter> _logger; public ResultLogFilter(ILogger<Res原创 2021-03-13 12:06:35 · 749 阅读 · 0 评论 -
Jenkins+Pytest+.NetCore WebApi
Windows平台Jenkins集成Pytest部署.NetCore WebApi安装Jenkins引用地址备注1.Tomcat不需要安装集成Pytest,Allures生成测试文档引用地址总结利用Pytest生成结果图中命令格式如下pytest [测试用例脚本] --alluredir [结果数据]使用绝对路径原因因为最开始直接使用pytest命令不行,加了环境变量等相关的操作,还是不行,所以直接改为了绝对路径,经测试使用OK。查看pytest所在路径where pyte原创 2021-03-06 22:17:07 · 117 阅读 · 0 评论 -
.netCore控制台添加webApi
1.使用场景原先是一个控制台的数采程序,后面需要做动态修改配置,于是想到通过在控制台程序中嵌入接口来达到这样的目的。2.试错起先在已有的控制台程序中,加入webapi程序,网上查了很多例子,看上去也简单。但自己加上去就死活不行3.最终方法先建立webapi程序,然后在main函数前面,写自己的逻辑。在CreateHostBuilder(args).Build().Run();前面写自己的代码即可。...原创 2021-02-23 13:36:40 · 1221 阅读 · 0 评论