System.Net.Http.HttpMessageInvoker.SendAsync C# (CSharp) Method

SendAsync() public method

public SendAsync ( HttpRequestMessage request, CancellationToken cancellationToken ) : Task
request HttpRequestMessage
cancellationToken System.Threading.CancellationToken
return Task
        public virtual Task<HttpResponseMessage> SendAsync(HttpRequestMessage request,
            CancellationToken cancellationToken)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }
            CheckDisposed();

            if (NetEventSource.IsEnabled) NetEventSource.Enter(this, request);

            Task<HttpResponseMessage> task = _handler.SendAsync(request, cancellationToken);

            if (NetEventSource.IsEnabled) NetEventSource.Exit(this, task);

            return task;
        }

Usage Example

        public void ByPostShouldReturnCorrectResponse()
        {
            var controller = typeof(CategoriesController);

            var config = new HttpConfiguration();
            config.MapHttpAttributeRoutes();
            config.Routes.MapHttpRoute(
               name: "DefaultApi",
               routeTemplate: "api/{controller}/{id}",
               defaults: new { id = RouteParameter.Optional }
            );

            config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;

            var httpServer = new HttpServer(config);
            var httpInvoker = new HttpMessageInvoker(httpServer);

            using (httpInvoker)
            {
                var request = new HttpRequestMessage
                {
                    RequestUri = new Uri("http://test.com/api/categories/1"),
                    Method = HttpMethod.Get
                };

                var result = httpInvoker.SendAsync(request, CancellationToken.None).Result;

                Assert.IsNotNull(result);
            }
        }
All Usage Examples Of System.Net.Http.HttpMessageInvoker::SendAsync