Exemplo n.º 1
0
 private void AppResolve(IApplicationBuilder app)
 {
     RestContext.GetContext().Initialize(app.ApplicationServices);
     app.ApplicationServices.GetRequiredService <ObjectAccessor <IApplicationBuilder> >().Value = app;
     app.UseStaticFiles();
     app.UseRouting();
     _moduleProvider.Configure(new ApplicationInitializationContext(app.ApplicationServices));
     app.UseEndpoints(endpoints => { endpoints.MapDefaultControllerRoute(); });
     app.Run(async context =>
     {
         var messageId = Guid.NewGuid().ToString("N");
         var sender    = new HttpServerMessageSender(_serializer, context, _diagnosticListener);
         try
         {
             var filters   = app.ApplicationServices.GetServices <IAuthorizationFilter>();
             var isSuccess = await OnAuthorization(context, sender, messageId, filters);
             if (isSuccess)
             {
                 var actionFilters = app.ApplicationServices.GetServices <IActionFilter>();
                 await OnReceived(sender, messageId, context, actionFilters);
             }
         }
         catch (Exception ex)
         {
             var filters = app.ApplicationServices.GetServices <IExceptionFilter>();
             WirteDiagnosticError(messageId, ex);
             await OnException(context, sender, messageId, ex, filters);
         }
     });
 }