在WebApi Core ConfigureServices中访问services.AddScoped中的R
发布时间:2020-12-16 06:40:34 所属栏目:asp.Net 来源:网络整理
导读:我想将一个类实例的值从Request的标题分配给每个请求作为singleton. 我想在Startup类的ConfigureServices方法中为它分配.net核心. 像这样的东西: public void ConfigureServices(IServiceCollection services){ services.AddMvc(); services.AddScopedMyCla
我想将一个类实例的值从Request的标题分配给每个请求作为singleton.
我想在Startup类的ConfigureServices方法中为它分配.net核心. 像这样的东西: public void ConfigureServices(IServiceCollection services) { services.AddMvc(); services.AddScoped<MyClass>(provider => { var myClass = new MyClass(); myClass.PropName = provider.Request.Headers["PropName"]; // I want to access Request Header here }); } 如何在AddScoped方法中访问Request的标头? 解决方法
最干净的方法是更改??MyClass构造函数,如下所示:
public MyClass(IHttpContextAccessor httpContextAccessor) { this.PropName = httpContextAccessor.HttpContext?.Request?.Headers["PropName"] } 然后在您的DI设置中: services.AddScoped<MyClass>(); 或者,如果您真的需要在DI设置中访问它,您可以修改如下: services.AddScoped<MyClass>(provider => { var myClass = new MyClass(); myClass.PropName = provider.GetService<IHttpContextAccessor>()?.HttpContext?.Request?.Headers["PropName"]; }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何在ASP.net站点中重写URL
- asp.net – Favicon没有显示
- asp.net – SignalR Autofac OWIN:为什么GlobalHost.Conne
- asp.net – 如何通过命令按钮发送多个命令参数?(RowComman
- asp.net – 为什么这个JSON返回“无效的JSON原语”?
- asp.net – WebForms中的异步/等待 – 在页面生命周期结束之
- Asp.net(C#)读取数据库并生成JS文件制作首页图片切换效果(附
- asp.net-mvc – DisplayFor忽略html属性的原因是什么?
- asp.net-mvc-3 – MVC3中的富文本区域
- asp.net-mvc – 如果Hangfire已经运行,请停止启动定期作业
推荐文章
站长推荐
- ASP.NET MVC类级自定义数据注释和ModelState键
- asp.net-mvc-3 – 在F#中的ViewBag动态对象上设置
- asp.net – Web API授权属性不在Action上工作
- asp.net-mvc – ELMAH和SQL Server 2008 R2?
- 一步步开发自己的博客 .NET版 剧终篇(6、响应式
- 利用ASP.NET MVC和Bootstrap快速搭建个人博客之后
- asp.net-mvc – Editor为int选择一个字符串模板
- asp.net-mvc – 在ASP.NET MVC 3中的子文件夹中添
- 如何在Asp.Net中使用CSS创建多列数据输入表单?
- asp.net-mvc – 关于使用重写的AuthorizeAttribu
热点阅读