1.首先我们要创建一个静态类 public static class MyHttpContext { public static IServiceProvider ServiceProvider; public static Microsoft.AspNetCore.Http.HttpContext Current { get { object factory = ServiceProvider.GetService(typeof(Microsoft.AspNetCore.Http.IHttpC…
ASP.NET提供了静态属性System.Web.HttpContext.Current,因此获取HttpContext对象就非常方便了.也正是因为这个原因,所以我们经常能见到直接访问System.Web.HttpContext.Current的代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace Test_HttpContext.Current { p…
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:服务定位器(Service Locator)作为一种反模式,一般情况下应该避免使用,在ASP.NET Core更是需要如此. Scott Allen在其博客网站上发表了一篇名为"Avoiding the Service Locator Pattern in ASP.NET Core"的文章解释了这一模式会带来的问题:导致应用程序无法完全基于控制反转(依赖注入)容器.同时给出…