gpt4 book ai didi

c# - 设置服务总线辅助角色的 OperationTimeOut 属性

转载 作者:太空狗 更新时间:2023-10-30 00:51:54 25 4
gpt4 key购买 nike

我正在使用服务总线辅助角色模板创建辅助角色。

我处理每条消息都要花费一分多钟的时间。

因此,我发现工作角色多次收到相同的消息,大约每分钟收到一条消息。

我认为这是因为该值默认为 60 秒。

http://msdn.microsoft.com/en-us/library/microsoft.servicebus.messaging.messagingfactorysettings.operationtimeout.aspx

但我不确定如何增加这个值,因为我在任何地方都没有看到 messageFactorySettings 类。

在哪里设置此属性?

这是我正在使用的代码

public class WorkerRole : RoleEntryPoint
{

// QueueClient is thread-safe. Recommended that you cache
// rather than recreating it on every request
QueueClient Client;
ManualResetEvent CompletedEvent = new ManualResetEvent(false);

public override void Run()
{

Client.OnMessage((receivedMessage) =>
{
ProcessMessage(recievedMessage);
});

CompletedEvent.WaitOne();
}

public override bool OnStart()
{
ServicePointManager.DefaultConnectionLimit = 12;

string connectionString = ConfigurationUtility.GetConnectionString("Microsoft.ServiceBus.ConnectionString");
string queneName = ConfigurationUtility.GetConnectionString("QueueName");

// Create the queue if it does not exist already
var namespaceManager = NamespaceManager.CreateFromConnectionString(connectionString);
if (!namespaceManager.QueueExists(queneName))
{
namespaceManager.CreateQueue(queneName);

}

Client = QueueClient.CreateFromConnectionString(connectionString, queneName);
return base.OnStart();
}

public override void OnStop()
{
// Close the connection to Service Bus Queue
Client.Close();
CompletedEvent.Set();
base.OnStop();
}
}

最佳答案

使用ConnectionStringBuilder,这比自己为MessagingFactory创建必要的地址更容易使用:

var builder = new  ServiceBusConnectionStringBuilder(_connectionString)
{
OperationTimeout = TimeSpan.FromMinutes(2)
};

var messagingFactory = MessagingFactory.CreateFromConnectionString(builder.ToString());
var queueClient = MessagingFactory.CreateQueueClient(_queuePath);

关于c# - 设置服务总线辅助角色的 OperationTimeOut 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24416435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com