2014-11-18 4 views
1

우리는이 응용 프로그램에서 Azure Service Bus 항목을 적극적으로 사용하고 있습니다. 이 문제를 수시로 온다 일부 주제에 대한Azure 서비스 버스의 기본 IOException

Microsoft.ServiceBus.Messaging.MessagingException The underlying connection was closed: An  unexpected error occurred on a send. TAsyncResult End[TAsyncResult](System.IAsyncResult) 
Server stack trace: 


Exception rethrown at [0]: 
    at Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result) 
    at Microsoft.ServiceBus.NamespaceManager.OnEndTopicExists(IAsyncResult result) 
    at Microsoft.ServiceBus.NamespaceManager.TopicExists(String path) 
    at XXX.Core.Logic.Services.Bus.Impl.ServiceBusServiceBase.EnsureTopicExists(String topic) 
    at XXX.Core.Logic.Services.Bus.Impl.ServiceBusSenderServiceImpl.SendBrokeredMessage(Object state) 
________________________________________ 
System.Net.WebException The underlying connection was closed: An unexpected error occurred on a send. System.Net.WebResponse EndGetResponse(System.IAsyncResult) at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult) 
    at Microsoft.ServiceBus.Messaging.ServiceBusResourceOperations.GetAsyncResult`1.b__2d(GetAsyncResult`1 thisPtr, IAsyncResult r) 
    at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result) 
________________________________________ 
System.IO.IOException Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. Void EndWrite(System.IAsyncResult) at System.Net.TlsStream.EndWrite(IAsyncResult asyncResult) 
    at System.Net.ConnectStream.WriteHeadersCallback(IAsyncResult ar) 
________________________________________ 
System.Net.Sockets.SocketException An existing connection was forcibly closed by the remote host Int32 EndRead(System.IAsyncResult) at System.Net.Sockets.NetworkStream.EndRead(IAsyncResult asyncResult) 

하지만 일부 주제는 영구적입니다 : 최근에 우리는 우리의 주제의 일부 이상한하는 IOException을 얻기 시작했다. 응용 프로그램 전체에서 모든 주제에 동일한 코드가 사용됩니다. 이 문제를 해결하기 위해 여러 가지 방법을 시도해 보았습니다. 주제 변경, 코드 변경, 운이 없었습니다.

어떤 종류의 문제가 발생할 수 있습니까? 아무도 그런 종류의 재료를 먹은 적이 있습니까?

답변

0

다행히도 프로젝트와 관련된 문제가 발견되었습니다. 문제는 명시 적 SSLv3에서 우리가 코드에 적용한 것입니다. Azure가 서비스 버스 서비스에서 SSLv3을 비활성화 한 후 코드가 손상되었습니다.

여기서 좋은 교훈 : 명시 적 프로토콜 프로젝트를 절대 사용하지 마십시오.