use*_*009 7 c# timeout azure azureservicebus
我们有一个在Microsoft Azure云平台上运行的应用程序.某些组件之间的通信使用Service Bus进行.一切都运行正常,直到最近我们才开始获得以下类型的超时异常:
打电话的时候 QueueClient x.Send(...)
在[0]处重新抛出异常:位于Microsoft.ServiceBus.Messaging的Microsoft.ServiceBus.Messaging.Sbmp.DuplexRequestBindingElement.DuplexRequestSessionChannel.DuplexCorrelationAsyncResult.End(IAsyncResult result)中的Microsoft.ServiceBus.Common.AsyncResult.End [TAsyncResult](IAsyncResult结果) Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result)中的.Channels.ReconnectBindingElement.ReconnectChannelFactory`1.RequestSessionChannel.RequestAsyncResult.b__4(RequestAsyncResult thisPtr,IAsyncResult r)
打电话的时候 NamespaceManager x.GetQueue(...)
PROGRESS队列处理失败.System.TimeoutException:请求在60000毫秒后超时.无法确定请求的成功完成.应进行其他查询以确定操作是否成功.TrackingId:bdffb6bd-5367-4573-aaa3-8ea9a03f5a2b,TimeStamp:5/28/2015 8:39:46 AM ---> System.Net.WebException:请求已中止:请求已取消.在
Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult结果)的Microsoft.ServiceBus.Messaging.ServiceBusResourceOperations.GetAsyncResult`1.b__49(GetAsyncResult`1 thisPtr,IAsyncResult r)上的System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)处)
打电话的时候 NamespaceManager x.SubscriptionExists(...)
执行定期工作的异常:System.TimeoutException:请求在00:10:00毫秒后超时.无法确定请求的成功完成.应进行其他查询以确定操作是否成功.服务器堆栈跟踪:在[0]处重新抛出异常:位于Microsoft.ServiceBus.NamespaceManager.SubscriptionExists(String)上的Microsoft.ServiceBus.NamespaceManager.OnEndSubscriptionExists(IAsyncResult结果)中的Microsoft.ServiceBus.Common.AsyncResult.End [TAsyncResult](IAsyncResult结果) topicPath,String name)...
打电话的时候 QueueClient x.Receive(...)
PROGRESS队列处理失败.Microsoft.ServiceBus.Messaging.MessagingCommunicationException:与Service Bus通信期间出错.检查连接信息,然后重试.---> System.ServiceModel.CommunicationObjectFaultedException:内部服务器错误:服务器没有提供有意义的回复; 这可能是由于过早的会话关闭造成的.TrackingId:04ba0220-0350-4806-9c65-c2bba9671054,时间戳:28.05.2015 13:00:55服务器堆栈跟踪:异常重新抛出[0]:Microsoft的Microsoft.ServiceBus.Common.ExceptionDispatcher.Throw(异常异常). Microsoft.ServiceBus.Messaging.Sbmp.DuplexRequestBindingElement.DuplexRequestSessionChannel.EndRequest(IAsyncResult)上的Microsoft.ServiceBus.Messaging.Sbmp.DuplexRequestBindingElement.DuplexRequestSessionChannel.DuplexCorrelationAsyncResult.End(IAsyncResult result)中的ServiceBus.Common.AsyncResult.End [TAsyncResult](IAsyncResult结果)结果)Microsoft.ServiceBus.Messaging.Channels.ReconnectBindingElement.ReconnectChannelFactory`1.RequestSessionChannel.RequestAsyncResult.b__4(RequestAsyncResult thisPtr,IAsyncResult r)at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result)....
例外与ServiceBus明显相关,并且它们是非确定性的.把他们的功能,例如Send
,GetQueue
,SubscriptionExists
,被称为不超过每分钟100-120次.我们在代码中没有改变任何内容,并且增加超时值(即使是非常高的值,比如10分钟)也无济于事.此外,我们不相信它是一些与网络相关的问题(在我们这边),因为当应用程序从不同的地方运行时会发生同样的错误.
最近有没有其他人遇到过这种例外情况?微软是否存在问题,或者我们遗漏了什么?
几周前,我们已经生产了好几个月的服务总线应用程序突然出现了无法解释的计时问题。我们的仍然可以工作,但每隔几个调用就会花费 10 秒以上,而它们通常是 100-200 毫秒。这种情况持续了几个星期,我花了大部分时间试图弄清楚发生了什么,但一直没有这么做,因为问题突然消失了。
我们确实了解到,在问题发生时,我们在同一数据中心和其他数据中心创建的用于测试的新服务总线命名空间并未出现相同的问题。服务总线小组没有提供任何帮助,只是说响应时间无法保证,只有 SLA 可以保证。
归档时间: |
|
查看次数: |
3938 次 |
最近记录: |