我一直在使用Azure存储队列来使用该QueueTrigger属性来提供WebJob .我将我配置QueueTrigger为出列并发处理多个项目,如下所示:
public static void Main()
{
JobHostConfiguration config = new JobHostConfiguration();
config.NameResolver = new QueueNameResolver();
config.Queues.NewBatchThreshold = 10;
JobHost host = new JobHost(config);
host.RunAndBlock();
}
public static void ExecuteStorageQueueItem([QueueTrigger("%AzureQueueName%")] CloudQueueMessage message, TextWriter logger)
{
ProcessRequest(message.AsString, logger);
}
Run Code Online (Sandbox Code Playgroud)
我更喜欢使用Service Bus.MaxConcurrentCalls参数on 是否ServiceBusConfiguration允许相同的自动并行执行?例如:
public static void Main()
{
JobHostConfiguration config = new JobHostConfiguration();
config.NameResolver = new QueueNameResolver();
ServiceBusConfiguration serviceBusConfig = new ServiceBusConfiguration();
serviceBusConfig.MessageOptions.MaxConcurrentCalls = 10;
config.UseServiceBus(serviceBusConfig);
JobHost host = new JobHost(config);
host.RunAndBlock();
}
public …Run Code Online (Sandbox Code Playgroud) servicebus azure azureservicebus azure-webjobs azure-webjobssdk