public async Task ProcessRequestAsync(HttpContextBase context) { Log.DebugFormat("[Process {0}, Thread {1}, AppDomain {2}]", Process.GetCurrentProcess().Id, Thread.CurrentThread.ManagedThreadId, AppDomain.CurrentDomain.Id); Log.DebugFormat("Processing {0} request for resource {1} (HTTP handler instance: {2})...", context.Request.HttpMethod, context.Request.Url, _instanceId); var resourceRequest = new HttpRequestAdapter(context.Request, context.User); var resourceResponse = new HttpResponseAdapter(context.Response); try { var resourceRouter = await BusManager.SingletonInstance.GetResourceRouter(); await resourceRouter.Route(resourceRequest, resourceResponse); Log.DebugFormat("Processing {0} request for resource {1} (HTTP handler instance: {2})...", context.Request.HttpMethod, context.Request.Url, _instanceId); } catch (Exception ex) { var exceptionHandler = new HttpExceptionHandler(resourceRequest, resourceResponse, Log); exceptionHandler.HandleException(ex); } }