asp.net-core – 如何将HostBuilder用于WebJob?
随着.Net 2.0引入了真正有用的ConsoleBuilder HostBuilder,就像我们使用WebHostBuilder for Web Application一样.
我现在关注的是如何使用带有QueueTrigger的WebJob实现HostBuilder? 到现在为止,我正在使用JobActivator: var startup = new Startup(); var serviceProvider = startup.ConfigureServices(new ServiceCollection()); startup.Configure(serviceProvider); var jobHostConfiguration = new JobHostConfiguration() { JobActivator = new JobActivator(serviceProvider),}; var host = new JobHost(jobHostConfiguration); host.RunAndBlock(); 有关完整示例,请参阅以下代码: 是否有人已经将HostBuilder用于带有QueueTrigger的WebJob?可能吗? 谢谢 解决方法
就在那时,我已经想到了这一点.首先确保已升级软件包以使用相应WebJob软件包的最新v3版本.
我发现我需要以下内容: > Microsoft.Azure.WebJobs 然后,您可以在Main方法中使用构建器作为Console项目,如下所示: static async Task Main() { var builder = new HostBuilder(); builder.ConfigureAppConfiguration(cb => { cb.AddJsonFile("appsettings.json"); }); builder.ConfigureWebJobs(b => { b.AddServiceBus(); }); await builder.RunConsoleAsync(); } 请注意,我已启用语言功能7.1以支持异步主方法.如果您愿意,可以使用“等待()”.然后我将appsettings.json文件添加到我的项目中,如下所示: { "ConnectionStrings": { "AzureWebJobsServiceBus": "Endpoint=sb://..." } } (编辑:并确保文件始终复制到输出文件夹) public static void ProcessQueueMessage([ServiceBusTrigger("[Your Queue Name]",Connection = "AzureWebJobsServiceBus")] string message,TextWriter log) { log.WriteLine(message); } 即使Connection的名称是默认名称,我仍然似乎必须在我的函数属性中定义它.我也尝试了“价值观”方法,但我无法做到这一点.然后我开始从服务总线接收消息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET MVC – 更新预编译的Razor View文件直播生产
- asp.net – 没有透明度的div中的div的不透明度
- asp.net-mvc – MVC .NET模型即时绑定到数组
- asp.net – OWIN AuthorizeEndpoint,其redirect_uri不同于w
- asp.net-mvc – 在ASP.NET MVC中创建模型
- asp.net-mvc – IIS 6上的ASP.NET MVC – 通配符映射 – 传
- asp.net – Web发布的密码不同于我的Azure管理员密码?
- asp.net – 多租户,或不是多租户
- asp.net-mvc – 在Azure Active Directory B2C中按组授权
- asp.net-mvc – 具有SelectList(s)最佳实践的ASP.NET MVC V