【发布时间】:2015-04-14 16:06:42
【问题描述】:
我正在努力将服务范围限定为 ASP.NET 5 中的当前请求。我的启动代码如下所示:
public void ConfigureServices(IServiceCollection services)
{
services.AddScoped<IMyService, MyService>();
}
public void Configure(IApplicationBuilder app)
{
app.UseRequestServices();
app.UseMiddleware<MyMiddleware>();
}
public class MyMiddleware
{
RequestDelegate _next;
IMyService MyService;
public MyMiddleware(RequestDelegate next, IMyService myService)
{
_next = next;
MyService = myService;
}
public async Task Invoke(HttpContext context)
{
--> Here - context.RequestServices does not contain myService
}
}
传递给 MyMiddleware 构造函数的 IMyService 似乎不是请求范围的。它不是按请求处理的,并且在调用中间件时它没有在HttpContext.RequestServices 中注册。
好像我遗漏了一些明显的东西?
【问题讨论】:
标签: c# asp.net asp.net-core