随笔- 672
文章- 2
评论- 325
阅读-
281万
随笔分类 - ASP.NET Core
Microsoft.Extensions.DependencyInjection在构造方法注入中,可以注入IServiceProvider接口实例
摘要:我们在使用Microsoft.Extensions.DependencyInjection进行构造方法依赖注入时,可以注入IServiceProvider接口的实例,然后可以用这个实例来获取其它依赖注入的类。 下面的示例代码中,我们定义了IPeople接口和实现类People,是一组依赖注入关系。还
阅读全文
在ASP.NET Core中将EF Core的日志通过NLog输出到控制台
摘要:首先定义一个实现了ILogger接口的类EFLogger,主要目的是将EF Core生成的Log信息输出到NLog: namespace AspNetCore8EFLogger.EF.Logger { public class EFLogger : ILogger { protected reado
阅读全文
如何在ASP.NET Core中避免JSON序列化的循环引用(链接)
摘要:下面的微软官方文档中介绍了,如何在ASP.NET Core中避免JSON序列化时发生循环引用,其中同时讲述了Json.NET和System.Text.Json如何避免循环引用: Related data and serialization 另外下面的微软官方文档中有提到,ASP.NET Core中默
阅读全文
.NET项目AsyncLocal在链路追踪中的应用(转载)
摘要:目录 前言 老传统做法 AspNetCore的TraceIdentifier AsyncLocal在链路追踪的应用 项目应用 AspNetCore 前言 在项目生产中日志的记录是必不可少的,在.net项目中,要说日志组件,log4net绝对可有一席之地,随着公司业务的发展,微服务则必定无可避免。在跨
阅读全文
ASP.NET Core MVC如何在Filter中获取ControllerName和ActionName,以及在Action方法上声明的Filter
摘要:在ASP.NET Core MVC的Filter中,我们可以通过ActionContext对象获取到许多有用的信息,例如下面的代码在IAuthorizationFilter中,获取了ControllerName和ActionName,以及在Action方法上声明的Filter: using Micr
阅读全文
Microsoft.Extensions.DependencyInjection会自动释放通过DI(依赖注入)创建的对象
摘要:Microsoft.Extensions.DependencyInjection中(下面简称DI),在调用ServiceProvider和IServiceScope对象的Dispose()方法时,也会自动调用ServiceProvider和IServiceScope对象通过DI创建的对象的Dispo
阅读全文
.NET的依赖注入框架Microsoft.Extensions.DependencyInjection,支持注入未绑定的泛型类(Unbound generic type)
摘要:C#的关键字typeof可以用来获取未绑定的泛型类/接口(Unbound generic type)的Type类实例,未绑定的泛型类/接口(Unbound generic type)就是指没有指定类型参数的泛型类/接口,如下代码所示: using System; namespace NET5Unbo
阅读全文
如何把ASP.NET Core应用程序做成为Windows Service服务(转载)
摘要:如果你的ASP.NET Core服务最后会安装到Windows上运行,那么你肯定不想每次都开个控制台窗口来运行你的服务,因为这样每次开机你都需要手动打开你的服务,其次控制台窗口也容易被用户关掉,你的服务会意外地被终止运行。使用下面的方法可以快速地把你的ASP.NET Core程序做成Windows
阅读全文
通过run-time configuration配置.NET GC回收内存的百分比
摘要:.NET中,可以通过run-time configuration中的High memory percent配置项,来配置.NET GC回收内存的百分比: High memory percent .NET的run-time configuration settings介绍: .NET Core run
阅读全文
HTML网页中,img标签和Ajax请求是支持跳转(Redirect)的
摘要:我们知道在HTTP请求中,状态码301和302代表跳转,也叫重定向(Redirect)。 301-Moved Permanently:永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替。 302-Found:临时
阅读全文
为什么.NET Core项目中,在appsettings.json配置文件中定义的配置项,会出现乱码
摘要:有时候在.NET Core项目中的appsettings.json配置文件中,如果我们定义了包含中文值的配置项,当配置文件被读取到项目的代码中后,会出现乱码。 例如,我们在ASP.NET Core项目中定义一个appsettings.Development.json配置文件,并在其中定义了一个包含中
阅读全文
ADO.NET的数据库连接池(链接)
摘要:下面这篇文章,很详细地介绍了ADO.NET中的数据库连接池: ADO.NET入门教程(五) 细说数据库连接池 其中有提到如果连接池中的数据库连接数不够了,会导致SqlConnection连接超时,所以要合理地设置SqlConnectionStringBuilder.MaxPoolSize和SqlCo
阅读全文
Microsoft.Extensions.DependencyInjection中的Transient依赖注入关系,使用不当会造成内存泄漏
摘要:Microsoft.Extensions.DependencyInjection中(下面简称DI)的Transient依赖注入关系,表示每次DI获取一个全新的注入对象。但是使用Transient依赖注入关系时,最好要配合IServiceScope来一起使用,因为通过Transient依赖注入关系创建
阅读全文
ASP.NET Core MVC中,如何将视图文件生成的html代码通过字符串返回
摘要:下面的方法可以在ASP.NET Core MVC中,将视图文件生成的html代码通过字符串返回。 首先定义一个静态类ControllerExtensions,里面包含Controller的扩展方法RenderViewAsync,用于返回视图文件生成的html代码: using Microsoft.A
阅读全文
.Net Core DI依赖注入:一个接口注入多个实现类(转载)
摘要:方式一、默认就可以注入多个实现类例如接口IShow,注入ShowA和ShowB两个实现类: services.AddTransient<IShow, ShowA>(); services.AddTransient<IShow, ShowB>(); 获取的时候默认是获取到最后一个,如下所示: 可以使用
阅读全文
关于StackExchange.Redis的一些总结
摘要:NuGet包地址: StackExchange.Redis 官网地址: StackExchange.Redis 关于StackExchange.Redis的基本用法可以查看: C# StackExchange.Redis 用法总结 其中讲到了使用StackExchange.Redis来启用分布式锁,
阅读全文
ASP.NET Core MVC的Views(链接)
摘要:下面这篇微软官方文档,介绍了ASP.NET Core MVC中的View(视图): Views in ASP.NET Core MVC 其中这里介绍了,如何从Controller中传递数据到View中。
阅读全文
Routing to controller actions in ASP.NET Core(链接)
摘要:下面这篇微软官方文档,很全面地讲解了ASP.NET Core的路由机制(Routing): Routing to controller actions in ASP.NET Core 注意其中这个地方,讲解了在ASP.NET Core MVC中attribute routing和convention
阅读全文
Write custom ASP.NET Core middleware(链接)
摘要:下面这篇微软官方文档,介绍了如何在ASP.NET Core中自定义中间件(middleware): Write custom ASP.NET Core middleware 其中注意这句话: Additional parameters for the constructor and Invoke/I
阅读全文
ASP.NET Core Web API官方文档(链接)
摘要:下面这篇微软官方文档,介绍了构建ASP.NET Core Web API的一些细节: Create web APIs with ASP.NET Core 其中这里有提到一个特性类ApiControllerAttribute,实际上这个特性类在ASP.NET Core Web API的Controll
阅读全文