Example #1
0
 public UrlMiddleware(RequestDelegate next,
                      IProductAppService productAppService,
                      ITransientTestAppService transientTestAppService)
 {
     //构造中的productAppService服务是由IApplicationBuilder.ApplicationServices根容器创建的
     _next = next;
 }
Example #2
0
 public ProductController(IProductAppService productAppService1,
                          IProductAppService productAppService2,
                          IOrderAppService orderAppService1,
                          IOrderAppService orderAppService2,
                          ITransientTestAppService transientTestAppService1,
                          ITransientTestAppService transientTestAppService2,
                          IHostApplicationLifetime lifetime)
 {
     _lifetime = lifetime;
 }
Example #3
0
        public async Task InvokeAsync(HttpContext context, IProductAppService productAppService, ITransientTestAppService transientTestAppService)
        {
            //invoke中的productAppService其实是context.RequestServices子容器创建的。
            //这里的context.RequestServices子容器也是由IApplicationBuilder.ApplicationServices根容器创建来的。
            var productService = context.RequestServices.GetRequiredService <IProductAppService>();//使用解析的方式和上面方法中注入进来是一样的作用,切记是使用子容器RequestServices解析

            Console.WriteLine($"请求第{times++}次进入UrlMiddleware中间件。hash:{this.GetHashCode()}");
            await _next(context);
        }