Moh*_*yan 5 request request-headers .net-core asp.net-core-webapi
我想为Request的标头中的类实例分配一个值作为单例。
我想ConfigureServices在Startup类的方法中使用.net core进行分配。
像这样:
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
});
}
Run Code Online (Sandbox Code Playgroud)
如何在AddScoped方法中访问Request的标头?
将干净的方法是改变你的MyClass构造函数如下:
public MyClass(IHttpContextAccessor httpContextAccessor)
{
this.PropName = httpContextAccessor.HttpContext?.Request?.Headers["PropName"]
}
Run Code Online (Sandbox Code Playgroud)
然后在您的DI设置中:
services.AddScoped<MyClass>();
Run Code Online (Sandbox Code Playgroud)
另外,如果您确实需要在DI设置中访问它,则可以进行如下修改:
services.AddScoped<MyClass>(provider =>
{
var myClass = new MyClass();
myClass.PropName = provider.GetService<IHttpContextAccessor>()?.HttpContext?.Request?.Headers["PropName"];
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1588 次 |
| 最近记录: |