コード例 #1
0
        public async Task Invoke(HttpContext context, IRequestResponseService service)
        {
            //First, get the incoming request
            var request = await FormatRequest(context.Request);

            //Copy a pointer to the original response body stream
            var originalBodyStream = context.Response.Body;

            //Create a new memory stream...
            using (var responseBody = new MemoryStream())
            {
                //...and use that for the temporary response body
                context.Response.Body = responseBody;

                //Continue down the Middleware pipeline, eventually returning to this class
                await _next(context);

                //Format the response from the server
                var response = await FormatResponse(context.Response);

                //Save log to chosen datastore
                service.Insert(logEntity);

                //Copy the contents of the new memory stream (which contains the response) to the original stream, which is then returned to the client.
                await responseBody.CopyToAsync(originalBodyStream);
            }
        }
コード例 #2
0
ファイル: ClientBootstrapper.cs プロジェクト: ganesum/Autumn
        public ClientBootstrapper(IContainer container)
        {
            _requestResponseSerice = new RequestResponseService();

            container.Update(builder => builder.RegisterType <RequestTask>().As <IRequestTask>().InstancePerDependency());

            container.Update(builder => builder.RegisterType <AsyncRouterServiceProxy>().As <IAsyncRouterServiceProxy>().InstancePerDependency());
            container.Update(builder => builder.RegisterType <SyncRouterServiceProxy>().As <ISyncRouterServiceProxy>().InstancePerDependency());
        }
コード例 #3
0
ファイル: ClientBootstrapper.cs プロジェクト: ganesum/Autumn
        public ClientBootstrapper(IContainer container)
        {
            _requestResponseSerice = new RequestResponseService();

            container.Update(builder => builder.RegisterType<RequestTask>().As<IRequestTask>().InstancePerDependency());

            container.Update(builder => builder.RegisterType<AsyncRouterServiceProxy>().As<IAsyncRouterServiceProxy>().InstancePerDependency());
            container.Update(builder => builder.RegisterType<SyncRouterServiceProxy>().As<ISyncRouterServiceProxy>().InstancePerDependency());
        }
コード例 #4
0
ファイル: ServerBootstrapper.cs プロジェクト: ganesum/Autumn
        public ServerBootstrapper(IContainer container)
        {
            IoC.Container = container;

            container.Update(builder => builder.RegisterType<NoOpLogger>().As<ILog>().InstancePerDependency());

            container.Update(builder => builder.RegisterType<AsyncRouter>().As<IAsyncRouter>().SingleInstance());

            container.Update(builder => builder.RegisterType<SyncRouter>().As<ISyncRouter>().SingleInstance());

            container.Update(builder => builder.RegisterType<RequestHandlerService>().As<IRequestHandlerService>().SingleInstance());
            container.Update(builder => builder.RegisterType<RequestResponseService>().As<IRequestResponseService>().SingleInstance());

            _requestHandlerSerice = IoC.Container.Resolve<IRequestHandlerService>();
            _requestResponseSerice = IoC.Container.Resolve<IRequestResponseService>();
        }
コード例 #5
0
ファイル: ServerBootstrapper.cs プロジェクト: ganesum/Autumn
        public ServerBootstrapper(IContainer container)
        {
            IoC.Container = container;

            container.Update(builder => builder.RegisterType <NoOpLogger>().As <ILog>().InstancePerDependency());

            container.Update(builder => builder.RegisterType <AsyncRouter>().As <IAsyncRouter>().SingleInstance());

            container.Update(builder => builder.RegisterType <SyncRouter>().As <ISyncRouter>().SingleInstance());

            container.Update(builder => builder.RegisterType <RequestHandlerService>().As <IRequestHandlerService>().SingleInstance());
            container.Update(builder => builder.RegisterType <RequestResponseService>().As <IRequestResponseService>().SingleInstance());

            _requestHandlerSerice  = IoC.Container.Resolve <IRequestHandlerService>();
            _requestResponseSerice = IoC.Container.Resolve <IRequestResponseService>();
        }
コード例 #6
0
 public RequestResponseController(IRequestResponseService service)
 {
     _service = service;
 }
コード例 #7
0
ファイル: AsyncRouter.cs プロジェクト: ganesum/Autumn
 public AsyncRouter(ILog log, IRequestResponseService requestResponseService)
 {
     _log = log;
     _requestResponseService = requestResponseService;
 }
コード例 #8
0
 public HomeController(IRequestResponseService serviceCall)
 {
     _serviceCall = serviceCall;
 }
コード例 #9
0
ファイル: Startup.cs プロジェクト: foximoxi/replica
 public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IRoutingTableService routingTableService, ICommandService cmdService, IRequestResponseService responseService)
 {
     //app.ApplicationServices.GetService<X.Services.ISettingsService>().Start(cfg["configPath"]);
     app.ApplicationServices.GetService <R.Services.IFileWatchService>().Start("c:\\rest");
     app.UseExtendedRouter(routingTableService, cmdService, responseService);
 }
コード例 #10
0
ファイル: AsyncRouter.cs プロジェクト: ganesum/Autumn
 public AsyncRouter(ILog log, IRequestResponseService requestResponseService)
 {
     _log = log;
     _requestResponseService = requestResponseService;
 }