我刚刚将一个webjob更新到了azure-sdk的版本3。该作业有一个TimerTrigger,作为使用连接字符串创建appsettings.json文件的替代方法,我希望使用TimerOptions类来设置connectionstring,但令我惊讶的是,这个类是空的?!。
我偶然发现了这个https://github.com/Azure/azure-webjobs-sdk/issues/2178
发布于 2019-08-29 16:57:11
对于上面关于TimerTrigger的场景,我找到了一种解决方法。在ConfigureHostConfiguration中,我们可以使用AddInMemoryCollection来设置connectionString "AzureWebJobsStorage“。
Dictionary<string, string> connectionStrings =
new Dictionary<string, string>
{
{ "AzureWebJobsStorage", ConfigurationManager.ConnectionStrings["AzureWebJobsStorage"].ConnectionString},
};
builder.ConfigureHostConfiguration(config =>
{
config.AddInMemoryCollection(connectionStrings);
});遗憾的是,这在ServiceBusTriggers上不起作用。但是对于ServiceBusTriggers,我们有一个非空的ServiceBusOptions,因此可以使用它。
builder.ConfigureWebJobs(b =>
{
b.AddAzureStorageCoreServices();
b.AddServiceBus(options =>
{
options.MessageHandlerOptions.AutoComplete = false;
options.ConnectionString =
ConfigurationManager.ConnectionStrings["AzureWebJobsServiceBus"].ConnectionString;
});
b.AddTimers();
});https://stackoverflow.com/questions/57705415
复制相似问题