WCF客户端底层连接意外关闭问题求助(关联Defender更新)
WCF客户端发起SOAP请求时持续抛出"底层连接意外关闭"异常
我们有5台运行目标软件的机器,其中2台出现异常:该软件通过WCF客户端交换SOAP消息,此前运行完全正常,但从2023年9月5日起,首次发起请求时就持续抛出如下异常(已开启WCF日志,但未定位到明确的故障根因):
<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent"> <System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system"> <EventID>131075</EventID> <Type>3</Type> <SubType Name="Error">0</SubType> <Level>2</Level> <TimeCreated SystemTime="2023-09-05T12:31:37.7290515Z" /> <Source Name="System.ServiceModel" /> <Correlation ActivityID="{2d89b0b7-60bc-425c-9b5f-4a56c81f9965}" /> <Execution ProcessName="Panipro.PosEcosystem.TerminalApplication.UI" ProcessID="7112" ThreadID="9" /> <Channel /> <Computer>DESKTOP-ARKAQ4J</Computer> </System> <ApplicationData> <TraceData> <DataItem> <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Error"> <TraceIdentifier>http://msdn.microsoft.com/fr/library/System.ServiceModel.Diagnostics.ThrowingException.aspx</TraceIdentifier> <Description>Levée d'une exception.</Description> <AppDomain>Panipro.PosEcosystem.TerminalApplication.UI.exe</AppDomain> <Exception> <ExceptionType>System.ServiceModel.CommunicationException, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType> <Message>La connexion sous-jacente a été fermée : La connexion a été interrompue de manière inattendue.</Message> <StackTrace> à System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(WebException webException, HttpWebRequest request, HttpAbortReason abortReason) à System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout) à System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout) à System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout) à System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) à System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) à System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message) à System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) à BrueBoxService.BrueBoxPortType.OpenOperation(OpenOperationRequest request) à BrueBoxService.BrueBoxPortTypeClient.BrueBoxService.BrueBoxPortType.OpenOperation(OpenOperationRequest request) à Panipro.PosEcosystem.TerminalApplication.Infrastructure.Peripherals.CashRecyclers.FCC.Fcc.Open(OpenRequest request) à Panipro.PosEcosystem.TerminalApplication.Infrastructure.Peripherals.CashRecyclers.Requests.Open.DoInternal(Fcc client, String id, String SequenceNumber, String sessionId) à Panipro.PosEcosystem.TerminalApplication.Infrastructure.Peripherals.CashRecyclers.Requests.Request`1.<>c__DisplayClass0_0.<Do>b__1() à System.Threading.Tasks.Task`1.InnerInvoke() à System.Threading.Tasks.Task.Execute() à System.Threading.Tasks.Task.ExecutionContextCallback(Object obj) à System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) à System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot) à System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution) à System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() à System.Threading.ThreadPoolWorkQueue.Dispatch() à System.Threading._ThreadPoolWaitCallback.PerformWaitCallback() </StackTrace> <ExceptionString>System.ServiceModel.CommunicationException: La connexion sous-jacente a été fermée : La connexion a été interrompue de manière inattendue. ---> System.Net.WebException: La connexion sous-jacente a été fermée : La connexion a été interrompue de manière inattendue. à System.Net.HttpWebRequest.GetResponse() à System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout) --- Fin de la trace de la pile d'exception interne ---</ExceptionString> <InnerException> <ExceptionType>System.Net.WebException, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType> <Message>La connexion sous-jacente a été fermée : La connexion a été interrompue de manière inattendue.</Message> <StackTrace> à System.Net.HttpWebRequest.GetResponse() à System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout) </StackTrace> <ExceptionString>System.Net.WebException: La connexion sous-jacente a été fermée : La connexion a été interrompue de manière inattendue. à System.Net.HttpWebRequest.GetResponse() à System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)</ExceptionString> </InnerException> </Exception> </TraceRecord> </DataItem> </TraceData> </ApplicationData> </E2ETraceEvent>
已知信息
- 9月4日至5日期间,故障机器仅安装了Microsoft Defender Antivirus安全智能更新KB2267602(版本1.397.412.0)
- 无法访问托管SOAP端点的服务器,但已确认服务器同期无任何变更
- 已尝试HTTP与HTTPS两种访问方式,排除加密相关问题
故障机器配置
- Windows 10 Enterprise LTSC 10.0.17763
- .NET Framework 4.8.03761
- 通过组策略(GPEdit)禁用Windows Defender
- 无其他杀毒软件
恳请各位协助分析该异常的可能原因。
内容的提问来源于stack exchange,提问作者Spotted
相关产品推荐
相关产品推荐

