public async Task Invoke(HttpContext httpContext) { //每次请求将重新初始化全局容器确保容器唯一 OxygenIocContainer.BuilderIocContainer(container); //为客户端信息添加追踪头 OxygenIocContainer.Resolve <CustomerInfo>().SetTraceHeader(TraceHeaderHelper.GetTraceHeaders(httpContext.Request.Headers)); await _next(httpContext); }
IRemoteMessageSenderDelegate BuildSenderDelegate(MethodInfo methodInfo, Type inputType) { return((IRemoteMessageSenderDelegate)Activator.CreateInstance(typeof(RemoteMessageSenderDelegate <,>).MakeGenericType(inputType ?? typeof(object), methodInfo.ReturnType), methodInfo, OxygenIocContainer.Resolve <IRemoteMessageSender>())); }
public T CreateProxy <T>() where T : class { return(OxygenIocContainer.Resolve <T>()); }