/// <summary> /// Send request /// </summary> /// <param name="context">work context</param> /// <param name="requestMessage">request message</param> /// <param name="token">cancellation tokens</param> /// <returns>state of HTTP response</returns> public async Task <HttpResponseMessage> SendAsync(IWorkContext context, HttpRequestMessage requestMessage, CancellationToken?token = null) { Verify.IsNotNull(nameof(context), context); Verify.IsNotNull(nameof(requestMessage), requestMessage); context = context.WithMethodName(); token = token ?? CancellationToken.None; HttpResponseMessage response; try { using (var scope = new TimerScope( () => NetEventSource.Log.ActivityStart(context), x => NetEventSource.Log.ActivityStop(context, durationMs: x))) { response = await _client.SendAsync(requestMessage, (CancellationToken)token); } } catch (Exception ex) { NetEventSource.Log.Error(context, nameof(SendAsync), ex); throw; } return(response); }
public async Task Invoke(HttpContext httpContext) { IWorkContext workContext = httpContext.Items.Get <IWorkContext>() ?? WorkContext.Empty; var builder = new WorkContextBuilder(workContext); builder.SetContainer(_serviceConfiguration.Container); foreach (var item in httpContext.Request.Headers) { var property = _headerFactory.Create(item.Key, item.Value); if (property != null) { builder.Properties.Set(property, derivedType: property.GetType()); } } // Correlation Vector var headerCv = builder.Properties.Get <CvHeader>(); if (headerCv != null) { builder.Cv = new CorrelationVector(headerCv.Value); } workContext = builder.Build(); Uri url = new Uri(httpContext.Request.GetEncodedUrl()); var requestContext = new RequestContext(workContext, httpContext.Request.Method, url); httpContext.Items.Set(requestContext); using (var scope = new TimerScope( () => _webLogEvent.HttpRequestStart(workContext, requestContext), (x) => _webLogEvent.HttpRequestStop(workContext, requestContext, x))) { await _next.Invoke(httpContext); if (httpContext?.Response?.StatusCode != null) { AspMvcEventSource.Log.Verbose(workContext, $"REST response result: {httpContext.Response.StatusCode}"); } } }
public void Render() { int px, py; MouseInScreen(out px, out py); Debug.WriteLine("=== Render"); HandleResize(); renderer.Global.Floats("add_color").Set(0.0f, 0.0f, 0.0f); renderer.Global.Floats("alpha").Set(1.0f); renderer.Global.Sync(); // \todo LineRenderer should have Clear() if (lineRenderer != null) { lineRenderer.Begin(); lineRenderer.End(); } if (true) { #region Id if ( (selectionManager != null) && (RuntimeConfiguration.disableReadPixels == false) ) { if (Configuration.idBuffer && (idRenderer != null)) { using (var t = new TimerScope(timers.ID)) { idRenderer.Render(px, py); selectionManager.ProcessIdBuffer(idRenderer.Hover, px, py); } } selectionManager.Update(px, py); } #endregion #region Shadowmaps if (sceneManager.UpdateShadowMap && (RenderStack.Graphics.Configuration.useGl1 == false)) { using (var t = new TimerScope(timers.Shadow)) { shadowRenderer.UpdateShadowMaps(); } } #endregion #region CurveTool RenderT if ((curveTool != null) && curveTool.Enabled) { if (RenderStack.Graphics.Configuration.useGl1 == false) { curveTool.RenderT(px, py, sceneManager.Camera); } curveTool.CheckForUpdates(); } #endregion #region Main scene mono/stereo using (var t = new TimerScope(timers.Render3D)) { renderer.PartialGLStateResetToDefaults(); if (RenderStack.Graphics.Configuration.useGl1 == false) { renderer.SetTexture("t_shadowmap", shadowRenderer.ShadowMap); } StereoMode mode = (userInterfaceManager != null) ? userInterfaceManager.CurrentStereoMode : null; if ((mode != null) && (mode.Program != null) && (mode.Program.Valid == true)) { stereoscopicRenderer.Render(mode); } else { renderer.Requested.Viewport = windowViewport; renderer.Requested.Camera = sceneManager.Camera; renderer.Requested.Viewport = windowViewport; if (RenderStack.Graphics.Configuration.canUseFramebufferObject) { GL.BindFramebuffer(FramebufferTarget.Framebuffer, 0); } mainSceneRenderer.Render(0); } } #endregion #region voxelTest if (Configuration.voxelTest) { voxelEditor.RenderCubes(px, py, sceneManager.Camera); } #endregion } else { #region Alternative path without normal 3d scene // path without normal 3d scene renderer.Requested.Viewport = windowViewport; renderer.Requested.Camera = sceneManager.Camera; renderer.Requested.Viewport = windowViewport; if (RenderStack.Graphics.Configuration.canUseFramebufferObject) { GL.BindFramebuffer(FramebufferTarget.Framebuffer, 0); } renderer.RenderCurrentClear(); renderer.ApplyViewport(); #endregion } renderer.Requested.Viewport = windowViewport; renderer.Requested.Camera = sceneManager.Camera; renderer.Requested.Viewport = windowViewport; renderer.ApplyViewport(); if (RuntimeConfiguration.debugInfo && Configuration.graphicalUserInterface) { using (var t = new TimerScope(timers.GUI)) { userInterfaceManager.Render(); } } window.SwapBuffers(); }