• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# Http.WinHttpHandler类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中System.Net.Http.WinHttpHandler的典型用法代码示例。如果您正苦于以下问题:C# WinHttpHandler类的具体用法?C# WinHttpHandler怎么用?C# WinHttpHandler使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



WinHttpHandler类属于System.Net.Http命名空间,在下文中一共展示了WinHttpHandler类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: AutomaticRedirection_SetFalseAndGet_ValueIsFalse

 public void AutomaticRedirection_SetFalseAndGet_ValueIsFalse()
 {
     var handler = new WinHttpHandler();
     handler.AutomaticRedirection = false;
     
     Assert.False(handler.AutomaticRedirection);
 }
开发者ID:AdityaTulasi,项目名称:corefx,代码行数:7,代码来源:WinHttpHandlerTest.cs


示例2: GetAsync_RedirectResponseHasCookie_CookieSentToFinalUri

        public async Task GetAsync_RedirectResponseHasCookie_CookieSentToFinalUri(
            CookieUsePolicy cookieUsePolicy,
            string cookieName,
            string cookieValue)
        {
            Uri uri = Configuration.Http.RedirectUriForDestinationUri(false, 302, Configuration.Http.RemoteEchoServer, 1);
            var handler = new WinHttpHandler();
            handler.WindowsProxyUsePolicy = WindowsProxyUsePolicy.UseWinInetProxy;
            handler.CookieUsePolicy = cookieUsePolicy;
            if (cookieUsePolicy == CookieUsePolicy.UseSpecifiedCookieContainer)
            {
                handler.CookieContainer = new CookieContainer();
            }

            using (HttpClient client = new HttpClient(handler))
            {
                client.DefaultRequestHeaders.Add(
                    "X-SetCookie",
                    string.Format("{0}={1};Path=/", cookieName, cookieValue));
                using (HttpResponseMessage httpResponse = await client.GetAsync(uri))
                {
                    string responseText = await httpResponse.Content.ReadAsStringAsync();
                    _output.WriteLine(responseText);
                    Assert.True(JsonMessageContainsKeyValue(responseText, cookieName, cookieValue));
                }
            }            
        }
开发者ID:swaroop-sridhar,项目名称:corefx,代码行数:27,代码来源:WinHttpHandlerTest.cs


示例3: Ctor_ExpectedDefaultPropertyValues

        public void Ctor_ExpectedDefaultPropertyValues()
        {
            var handler = new WinHttpHandler();

            Assert.Equal(SslProtocols.Tls | SslProtocols.Tls11 | SslProtocols.Tls12, handler.SslProtocols);
            Assert.Equal(true, handler.AutomaticRedirection);
            Assert.Equal(50, handler.MaxAutomaticRedirections);
            Assert.Equal(DecompressionMethods.Deflate | DecompressionMethods.GZip, handler.AutomaticDecompression);
            Assert.Equal(CookieUsePolicy.UseInternalCookieStoreOnly, handler.CookieUsePolicy);
            Assert.Equal(null, handler.CookieContainer);
            Assert.Equal(null, handler.ServerCertificateValidationCallback);
            Assert.Equal(false, handler.CheckCertificateRevocationList);
            Assert.Equal(ClientCertificateOption.Manual, handler.ClientCertificateOption);
            X509Certificate2Collection certs = handler.ClientCertificates;
            Assert.True(certs.Count == 0);
            Assert.Equal(false, handler.PreAuthenticate);
            Assert.Equal(null, handler.ServerCredentials);
            Assert.Equal(WindowsProxyUsePolicy.UseWinHttpProxy, handler.WindowsProxyUsePolicy);
            Assert.Equal(CredentialCache.DefaultCredentials, handler.DefaultProxyCredentials);
            Assert.Equal(null, handler.Proxy);
            Assert.Equal(Int32.MaxValue, handler.MaxConnectionsPerServer);
            Assert.Equal(TimeSpan.FromSeconds(60), handler.ConnectTimeout);
            Assert.Equal(TimeSpan.FromSeconds(30), handler.SendTimeout);
            Assert.Equal(TimeSpan.FromSeconds(30), handler.ReceiveHeadersTimeout);
            Assert.Equal(TimeSpan.FromSeconds(30), handler.ReceiveDataTimeout);
            Assert.Equal(64 * 1024, handler.MaxResponseHeadersLength);
            Assert.Equal(64 * 1024, handler.MaxResponseDrainSize);
        }
开发者ID:AdityaTulasi,项目名称:corefx,代码行数:28,代码来源:WinHttpHandlerTest.cs


示例4: CheckCertificateRevocationList_SetTrue_ExpectedWinHttpHandleSettings

        public void CheckCertificateRevocationList_SetTrue_ExpectedWinHttpHandleSettings()
        {
            var handler = new WinHttpHandler();

            SendRequestHelper(handler, delegate { handler.CheckCertificateRevocationList = true; });

            Assert.True(APICallHistory.WinHttpOptionEnableSslRevocation.Value);
        }
开发者ID:AustinWise,项目名称:corefx,代码行数:8,代码来源:WinHttpHandlerTest.cs


示例5: NoCallback_ValidCertificate_CallbackNotCalled

 public async Task NoCallback_ValidCertificate_CallbackNotCalled()
 {
     var handler = new WinHttpHandler();
     using (var client = new HttpClient(handler))
     {
         HttpResponseMessage response = await client.GetAsync(HttpTestServers.SecureRemoteEchoServer);
         Assert.Equal(HttpStatusCode.OK, response.StatusCode);
         Assert.False(_validationCallbackHistory.WasCalled);
     }
 }
开发者ID:er0dr1guez,项目名称:corefx,代码行数:10,代码来源:ServerCertificateTest.cs


示例6: SendAsync_SlowServerRespondsAfterDefaultReceiveTimeout_ThrowsHttpRequestException

 public void SendAsync_SlowServerRespondsAfterDefaultReceiveTimeout_ThrowsHttpRequestException()
 {
     var handler = new WinHttpHandler();
     using (var client = new HttpClient(handler))
     {
         Task<HttpResponseMessage> t = client.GetAsync(SlowServer);
         
         AggregateException ag = Assert.Throws<AggregateException>(() => t.Wait());
         Assert.IsType<HttpRequestException>(ag.InnerException);
     }
 }
开发者ID:natemcmaster,项目名称:corefx,代码行数:11,代码来源:WinHttpHandlerTest.cs


示例7: SendAsync_SimpleGet_Success

 public void SendAsync_SimpleGet_Success()
 {
     var handler = new WinHttpHandler();
     var client = new HttpClient(handler);
     
     // TODO: This is a placeholder until GitHub Issue #2383 gets resolved.
     var response = client.GetAsync(HttpTestServers.RemoteGetServer).Result;
     Assert.Equal(HttpStatusCode.OK, response.StatusCode);
     var responseContent = response.Content.ReadAsStringAsync().GetAwaiter().GetResult();
     _output.WriteLine(responseContent);
 }
开发者ID:hitomi333,项目名称:corefx,代码行数:11,代码来源:WinHttpHandlerTest.cs


示例8: UseCallback_NotSecureConnection_CallbackNotCalled

 public async Task UseCallback_NotSecureConnection_CallbackNotCalled()
 {
     var handler = new WinHttpHandler();
     handler.ServerCertificateValidationCallback = CustomServerCertificateValidationCallback;
     using (var client = new HttpClient(handler))
     {
         HttpResponseMessage response = await client.GetAsync(HttpTestServers.RemoteGetServer);
         Assert.Equal(HttpStatusCode.OK, response.StatusCode);
         Assert.False(_validationCallbackHistory.WasCalled);
     }
 }
开发者ID:nnyamhon,项目名称:corefx,代码行数:11,代码来源:ServerCertificateTest.cs


示例9: AutomaticRedirection_SetTrue_ExpectedWinHttpHandleSettings

        public void AutomaticRedirection_SetTrue_ExpectedWinHttpHandleSettings()
        {
            var handler = new WinHttpHandler();

            SendRequestHelper.Send(
                handler,
                delegate { handler.AutomaticRedirection = true; });

            Assert.Equal(
                Interop.WinHttp.WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP,
                APICallHistory.WinHttpOptionRedirectPolicy);
        }
开发者ID:AdityaTulasi,项目名称:corefx,代码行数:12,代码来源:WinHttpHandlerTest.cs


示例10: AutomaticRedirection_SetFalse_ExpectedWinHttpHandleSettings

        public void AutomaticRedirection_SetFalse_ExpectedWinHttpHandleSettings()
        {
            var handler = new WinHttpHandler();

            SendRequestHelper(
                handler,
                delegate { handler.AutomaticRedirection = false; });

            Assert.Equal(
                Interop.WinHttp.WINHTTP_OPTION_REDIRECT_POLICY_NEVER,
                APICallHistory.WinHttpOptionRedirectPolicy);
        }
开发者ID:AustinWise,项目名称:corefx,代码行数:12,代码来源:WinHttpHandlerTest.cs


示例11: UseCallback_ValidCertificate_ExpectedValuesDuringCallback

 public async Task UseCallback_ValidCertificate_ExpectedValuesDuringCallback()
 {
     var handler = new WinHttpHandler();
     handler.ServerCertificateValidationCallback = CustomServerCertificateValidationCallback;
     using (var client = new HttpClient(handler))
     {
         HttpResponseMessage response = await client.GetAsync(HttpTestServers.SecureRemoteEchoServer);
         Assert.Equal(HttpStatusCode.OK, response.StatusCode);
         Assert.True(_validationCallbackHistory.WasCalled);
         
         ConfirmValidCertificate(HttpTestServers.Host);
     }
 }
开发者ID:er0dr1guez,项目名称:corefx,代码行数:13,代码来源:ServerCertificateTest.cs


示例12: SendAsync_SlowServerAndCancel_ThrowsTaskCanceledException

        public async Task SendAsync_SlowServerAndCancel_ThrowsTaskCanceledException()
        {
            var handler = new WinHttpHandler();
            using (var client = new HttpClient(handler))
            {
                var cts = new CancellationTokenSource();
                Task<HttpResponseMessage> t = client.GetAsync(SlowServer, cts.Token);

                await Task.Delay(500);
                cts.Cancel();
                
                AggregateException ag = Assert.Throws<AggregateException>(() => t.Wait());
                Assert.IsType<TaskCanceledException>(ag.InnerException);
            }
        }        
开发者ID:natemcmaster,项目名称:corefx,代码行数:15,代码来源:WinHttpHandlerTest.cs


示例13: UseCallback_RedirectandValidCertificate_ExpectedValuesDuringCallback

        public async Task UseCallback_RedirectandValidCertificate_ExpectedValuesDuringCallback()
        {
            Uri uri = Configuration.Http.RedirectUriForDestinationUri(true, 302, Configuration.Http.SecureRemoteEchoServer, 1);

            var handler = new WinHttpHandler();
            handler.ServerCertificateValidationCallback = CustomServerCertificateValidationCallback;
            using (var client = new HttpClient(handler))
            {
                HttpResponseMessage response = await client.GetAsync(uri);
                Assert.Equal(HttpStatusCode.OK, response.StatusCode);
                Assert.True(_validationCallbackHistory.WasCalled);
                
                ConfirmValidCertificate(Configuration.Http.Host);
            }
        }
开发者ID:geoffkizer,项目名称:corefx,代码行数:15,代码来源:ServerCertificateTest.cs


示例14: CanReadAndWriteWithHttpsConnectionFilter

        public async Task CanReadAndWriteWithHttpsConnectionFilter()
        {
            RemoteCertificateValidationCallback validationCallback =
                    (sender, cert, chain, sslPolicyErrors) => true;

            try
            {
#if DNX451
                var handler = new HttpClientHandler();
                ServicePointManager.ServerCertificateValidationCallback += validationCallback;
#else
                var handler = new WinHttpHandler();
                handler.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;
#endif

                var serverAddress = "https://localhost:54321/";
                var serviceContext = new TestServiceContext()
                {
                    ConnectionFilter = new HttpsConnectionFilter(
                        new HttpsConnectionFilterOptions
                        { ServerCertificate = new X509Certificate2(@"TestResources/testCert.pfx", "testPassword")},
                        new NoOpConnectionFilter())
                };

                using (var server = new TestServer(App, serviceContext, serverAddress))
                {
                    using (var client = new HttpClient(handler))
                    {
                        var result = await client.PostAsync(serverAddress, new FormUrlEncodedContent(new[] {
                            new KeyValuePair<string, string>("content", "Hello World?")
                        }));

                        Assert.Equal("content=Hello+World%3F", await result.Content.ReadAsStringAsync());
                    }
                }
            }
            finally
            {
#if DNX451
                ServicePointManager.ServerCertificateValidationCallback -= validationCallback;
#endif
            }
        }
开发者ID:leloulight,项目名称:KestrelHttpServer,代码行数:43,代码来源:HttpsConnectionFilterTests.cs


示例15: SendSmsAsync

        /// <summary>
        /// Sends an SMS message.
        /// </summary>
        /// <param name="message">SMS message.</param>
        /// <returns>Task.</returns>
        /// <exception cref="ArgumentNullException">If <paramref name="message"/> is <c>null</c>.</exception>
        public async Task SendSmsAsync(SmsMessage message)
        {
            if (message == null) throw new ArgumentNullException(nameof(message));

            var url = ComposeUrl(message);

#if NET45
            var messageHandler = new WebRequestHandler();
            messageHandler.ClientCertificates.Add(SmsConnectorConfiguration.Certificate);
#else
            var messageHandler = new WinHttpHandler();
            messageHandler.ClientCertificates.Add(SmsConnectorConfiguration.Certificate);
#endif

            using (var client = new HttpClient(messageHandler))
            {
                var response = await client.GetAsync(url).ConfigureAwait(false);

                await HandleErrorResponse(response).ConfigureAwait(false);
            }
        }
开发者ID:avast,项目名称:sms-connector-client,代码行数:27,代码来源:SmsConnector.cs


示例16: SendAsync_UseNoProxy_ExpectedWinHttpProxySettings

        public void SendAsync_UseNoProxy_ExpectedWinHttpProxySettings()
        {
            var handler = new WinHttpHandler();

            SendRequestHelper.Send(handler, delegate { handler.WindowsProxyUsePolicy = WindowsProxyUsePolicy.DoNotUseProxy; });

            Assert.Equal(Interop.WinHttp.WINHTTP_ACCESS_TYPE_NO_PROXY, APICallHistory.SessionProxySettings.AccessType);
        }
开发者ID:AdityaTulasi,项目名称:corefx,代码行数:8,代码来源:WinHttpHandlerTest.cs


示例17: WinHttpHandler

        public void SendAsync_NoAutomaticProxySupportAndUseWinInetSettingsWithAutoDetectSettingAndManualSettingButPACFileNotFoundOnNetwork_ExpectedWinHttpProxySettings()
        {
            const string manualProxy = FakeProxy;
            TestControl.WinHttpAutomaticProxySupport = false;
            FakeRegistry.WinInetProxySettings.AutoDetect = true;
            FakeRegistry.WinInetProxySettings.Proxy = manualProxy;
            TestControl.PACFileNotDetectedOnNetwork = true;
            var handler = new WinHttpHandler();

            SendRequestHelper.Send(
                handler,
                delegate
                {
                    handler.WindowsProxyUsePolicy = WindowsProxyUsePolicy.UseWinInetProxy;
                });

            // Both AutoDetect and manual proxy are specified.  If AutoDetect fails to find
            // the PAC file on the network, then we should fall back to manual setting.
            Assert.Equal(Interop.WinHttp.WINHTTP_ACCESS_TYPE_NO_PROXY, APICallHistory.SessionProxySettings.AccessType);
            Assert.Equal(Interop.WinHttp.WINHTTP_ACCESS_TYPE_NAMED_PROXY, APICallHistory.RequestProxySettings.AccessType);
            Assert.Equal(manualProxy, APICallHistory.RequestProxySettings.Proxy);
        }
开发者ID:AdityaTulasi,项目名称:corefx,代码行数:22,代码来源:WinHttpHandlerTest.cs


示例18: SendAsync_NoWinHttpDecompressionSupportAndResponseBodyIsNotCompressed_ExpectedResponse

        public async Task SendAsync_NoWinHttpDecompressionSupportAndResponseBodyIsNotCompressed_ExpectedResponse()
        {
            TestControl.WinHttpDecompressionSupport = false;
            var handler = new WinHttpHandler();

            HttpResponseMessage response = SendRequestHelper.Send(
                handler,
                delegate
                {
                    handler.WindowsProxyUsePolicy = WindowsProxyUsePolicy.UseWinInetProxy;
                });

            Assert.NotNull(response.Content.Headers.ContentLength);
            string responseBody = await response.Content.ReadAsStringAsync();
            Assert.Equal(TestServer.ExpectedResponseBody, responseBody);
        }
开发者ID:AdityaTulasi,项目名称:corefx,代码行数:16,代码来源:WinHttpHandlerTest.cs


示例19: SendAsync_NoWinHttpDecompressionSupportAndResponseBodyIsGZipCompressed_ExpectedResponse

        public async Task SendAsync_NoWinHttpDecompressionSupportAndResponseBodyIsGZipCompressed_ExpectedResponse()
        {
            TestControl.WinHttpDecompressionSupport = false;
            var handler = new WinHttpHandler();

            HttpResponseMessage response = SendRequestHelper.Send(
                handler,
                delegate
                {
                    handler.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip;
                    TestServer.SetResponse(DecompressionMethods.GZip, TestServer.ExpectedResponseBody);
                });

            Assert.Null(response.Content.Headers.ContentLength);
            string responseBody = await response.Content.ReadAsStringAsync();
            Assert.Equal(0, response.Content.Headers.ContentEncoding.Count);
            Assert.Equal(TestServer.ExpectedResponseBody, responseBody);
        }
开发者ID:AdityaTulasi,项目名称:corefx,代码行数:18,代码来源:WinHttpHandlerTest.cs


示例20: SendAsync_WinHttpOpenReturnsError_ExpectHttpRequestException

        public async Task SendAsync_WinHttpOpenReturnsError_ExpectHttpRequestException()
        {
            var handler = new WinHttpHandler();
            var client = new HttpClient(handler);
            var request = new HttpRequestMessage(HttpMethod.Get, TestServer.FakeServerEndpoint);

            TestControl.Fail.WinHttpOpen = true;

            Exception ex = await Assert.ThrowsAsync<HttpRequestException>(() => client.SendAsync(request));
            Assert.Equal(typeof(WinHttpException), ex.InnerException.GetType());
        }
开发者ID:AdityaTulasi,项目名称:corefx,代码行数:11,代码来源:WinHttpHandlerTest.cs



注:本文中的System.Net.Http.WinHttpHandler类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Http.WinHttpRequestState类代码示例发布时间:2022-05-26
下一篇:
C# Http.WebRequestHandler类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap