HttpClient在Widows Service和ASP.NET中使用不同的SecurityProtocol

时间:2017-11-01 17:33:30

标签: asp.net .net asp.net-mvc windows-services dotnet-httpclient

我有Windows服务和ASP.NET应用程序。这两个应用程序共享同一个.Net库,内部使用HttpClient类来生成GET和POST请求。

当Windows服务通过共享库进行GET调用时,我没有任何异常。但是,当ASP.NET通过相同的共享库进行GET调用时,我得到以下异常。

  

时间戳:11/1/2017 4:55:23 PM

     

消息:消息:发生了一个或多个错误。类型:   AggregateException Stack Trace:at   System.Threading.Tasks.Task 1.GetResultCore(Boolean waitCompletionNotification) at MyCompany.SharedLib.CFGetRequest(String params, Int32 attempt) at MyCompany.SharedLib.Pause(String apiKey, Int32 jobId) at MyCompany.Domain.Services.LabDomainService.Pause(Detail detail, String apiKey) in d:\Jenkins\XXXXXX.cs:line 189 at MyCompany.Domain.Services.LabDomainService.Pause(Int32 id) in d:\Jenkins\XXXXXX.cs:line 101 at MyCompany.UI.Controllers.HomeController.Pause(Int32 id) in d:\Jenkins\XXXXX:line 135 at lambda_method(Closure , ControllerBase , Object[] ) at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary 2个参数)at   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext   controllerContext,ActionDescriptor actionDescriptor,IDictionary 2 parameters) at System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult 2.CallEndDelegate(IAsyncResult)   asyncResult)at   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult的   asyncResult)at   System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.b__3d()   在   System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters&LT;&GT; c__DisplayClass46.b__3f()   在   System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters&LT;&GT; c__DisplayClass46.b__3f()   在   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult的   asyncResult)at   System.Web.Mvc.Async.AsyncControllerActionInvoker&LT;&GT; c__DisplayClass21&LT;&GT; c__DisplayClass2b.b__1c()   在   System.Web.Mvc.Async.AsyncControllerActionInvoker&LT;&GT; c__DisplayClass21.b__1e(IAsyncResult的   asyncResult)

     

内部异常消息:发送请求时发生错误。   类型:HttpRequestException内部异常堆栈跟踪:

     

内部异常消息:底层连接已关闭:An   发送时发生意外错误。类型:WebException内部   异常堆栈跟踪:at   System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
  在System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult)   AR)

     

内部异常消息:由于远程身份验证失败   派对关闭了运输流。类型:IOException内部   异常堆栈跟踪:at   System.Net.TlsStream.EndWrite(IAsyncResult asyncResult)at   System.Net.ConnectStream.WriteHeadersCallback(IAsyncResult ar)

     

类别:一般

     

优先级:-1

     

EventId:0

     

严重性:错误

     

名称:

     

机器:WIN-T49H73AEU41

     

App Domain:/ LM / W3SVC / 3 / ROOT-3-131540289107739161

     

ProcessId:26596

     

进程名称:c:\ windows \ system32 \ inetsrv \ w3wp.exe

     

主题名称:

     

Win32 ThreadId:30164

背景
我们最近在这两个应用程序中开始获得此异常,因此基于研究我们将目标框架从4.5更新为4.6.2,因此应用程序可以使用TLS1.2版本。升级目标框架后,Windows服务工作正常,但ASP.NET应用程序仍然抛出异常

HttpClient在Widows服务与ASP.NET中使用不同的默认System.Net.ServicePointManager.SecurityProtocol

0 个答案:

没有答案