我有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,IDictionary2 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