Обновление пакета 3.0.0 NuGet (не бета-версия) принесло серьезные изменения. Он основан на общем хосте, который похож на хост asp.net. Вы можете сослаться на шаги, как показано ниже:
1.Добавьте эту строку кода в вашу программу .cs.
.ConfigureAppConfiguration((context, config) => {
config.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
})
Весь код в Program.cs.
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
namespace WebJob1template
{
class Program
{
static void Main()
{
var builder = new HostBuilder()
.UseEnvironment("Development")
.ConfigureAppConfiguration((context, config) => {
config.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
})
.ConfigureWebJobs(
b =>
{
b.AddAzureStorageCoreServices()
.AddAzureStorage()
.AddTimers()
.AddFiles();
//.AddDashboardLogging();
})
.ConfigureLogging((context, b) =>
{
b.SetMinimumLevel(LogLevel.Debug);
b.AddConsole();
})
.UseConsoleLifetime();
var host = builder.Build();
using (host)
{
host.Run();
}
}
}
}
2.Set appsettings.json
(обратите внимание, что установить его свойство Copy to Output Directory
или Copy always
):
{
"ConnectionStrings": {
"AzureWebJobsDashboard": "xxxx",
"AzureWebJobsStorage": "xxxx"
}
}
3.Functions.cs:
using Microsoft.Azure.WebJobs;
using Microsoft.Extensions.Logging;
namespace WebJob1template
{
public class Functions
{
public static void ProcessQueueMessage([QueueTrigger("queue")] string message, ILogger log)
{
//log.WriteLine(message);
log.LogInformation(message);
}
}
}
4. Выход:
Для более подробной информации, вы можете обратиться к этому учебнику .
Обновление
Как сказал Джои, мы могли бы использовать
config.AddInMemoryCollection(settings);
с
public static Dictionary<string, string> settings = new Dictionary<string, string>
{
{"ConnectionStrings:AzureWebJobsDashboard:0", "xxxxxxx"},
{"ConnectionStrings:AzureWebJobsStorage:1", "xxxxxx"},
};
Так что он не будет использовать файл конфигурации. Вот статья о том, как использовать AddInMemoryCollection