首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我们使用NetMessagingBinding侦听Azure服务总线队列的服务可能会停止接收消息?

为什么我们使用NetMessagingBinding侦听Azure服务总线队列的服务可能会停止接收消息?
EN

Stack Overflow用户
提问于 2013-05-01 14:21:19
回答 1查看 568关注 0票数 1

我们有一个使用NetMessagingBinding监听Azure servicebus队列的WCF服务。然而,我们发现有时当消息到达时,服务似乎停止通知,即我们看到队列增加,但我们的实例都没有处理消息。

如果我们随后重启实例,它们会立即再次开始从队列接收消息。

在我们的worker角色中打开WCF服务的代码:

代码语言:javascript
复制
var endpoint = new ServiceEndpoint(ContractDescription.GetContract(typeof(ICacheKeyExchangeWithSession)))
{
    Address = new EndpointAddress(new Uri(baseAddress + QueueNames.Cache)), 
    Binding = new NetMessagingBinding(), 
};

var endpointBehavior = new TransportClientEndpointBehavior
{
    TokenProvider = TokenProvider.CreateSharedSecretTokenProvider(id, secret), 
};

endpoint.EndpointBehaviors.Add(endpointBehavior);
host = new ServiceHost(typeof(DataService), new Uri[] { });
host.AddServiceEndpoint(endpoint);
host.Open();

并且我们在NetMessagingBinding的app.config中没有特定的配置:

代码语言:javascript
复制
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
<extensions>
  <behaviorExtensions>
    <add name="transportClientEndpointBehavior" type="Microsoft.ServiceBus.Configuration.TransportClientEndpointBehaviorElement, Microsoft.ServiceBus, Version=1.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
  </behaviorExtensions>
  <bindingElementExtensions>
    <add name="netMessagingTransport" type="Microsoft.ServiceBus.Messaging.Configuration.NetMessagingTransportExtensionElement, Microsoft.ServiceBus, Version=1.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
  </bindingElementExtensions>
  <bindingExtensions>
    <add name="netMessagingBinding" type="Microsoft.ServiceBus.Messaging.Configuration.NetMessagingBindingCollectionElement, Microsoft.ServiceBus, Version=1.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
  </bindingExtensions>
</extensions>
</system.serviceModel>

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2017-01-04 15:25:33

从您的描述来看,您可能是IIS配置的受害者:您需要确保iis未配置为自动回收运行您的应用程序的应用程序池。如果还没有在iis中配置应用程序初始化,则服务不会自动重新启动并继续处理消息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16313648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档