Azure functions .net 5 UseSqlServer 配置
Azure functions .net 5 UseSqlServer configuration
我正在尝试使用 .net 5“dotnet-isolated”部署 azure 函数,但我无法在其上运行 sql 服务器。这是我的配置启动
static async Task Main(string[] args)
{
#if DEBUG
Debugger.Launch();
#endif
var host = new HostBuilder()
.ConfigureAppConfiguration(c =>
{
c.AddCommandLine(args);
})
.ConfigureFunctionsWorkerDefaults((c, b) =>
{
b.UseFunctionExecutionMiddleware();
})
.ConfigureServices((context, services) =>
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(context.Configuration.GetConnectionString("DefaultConnection")));
})
.Build();
await host.RunAsync();
}
好像是
options.UseSqlServer(context.Configuration.GetConnectionString("DefaultConnection")))
无法识别 Azure 配置
看来 azure 未连接到您的构建,这可能是因为您对它的配置不稳定,也可能是因为 sql 数据过多,您希望它能够如此快速地处理。我猜是第二个。
问题出在ConfigureAppConfiguration。必须是:
.ConfigureAppConfiguration(c =>
{
c.AddEnvironmentVariables();
c.AddCommandLine(args);
})
所以,最后的 Main 是:
static async Task Main(string[] args)
{
#if DEBUG
Debugger.Launch();
#endif
var host = new HostBuilder()
.ConfigureAppConfiguration(c =>
{
c.AddEnvironmentVariables();
c.AddCommandLine(args);
})
.ConfigureFunctionsWorkerDefaults((c, b) =>
{
b.UseFunctionExecutionMiddleware();
})
.ConfigureServices((context, services) =>
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(context.Configuration.GetConnectionString("DefaultConnection")));
})
.Build();
await host.RunAsync();
}
我正在尝试使用 .net 5“dotnet-isolated”部署 azure 函数,但我无法在其上运行 sql 服务器。这是我的配置启动
static async Task Main(string[] args)
{
#if DEBUG
Debugger.Launch();
#endif
var host = new HostBuilder()
.ConfigureAppConfiguration(c =>
{
c.AddCommandLine(args);
})
.ConfigureFunctionsWorkerDefaults((c, b) =>
{
b.UseFunctionExecutionMiddleware();
})
.ConfigureServices((context, services) =>
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(context.Configuration.GetConnectionString("DefaultConnection")));
})
.Build();
await host.RunAsync();
}
好像是
options.UseSqlServer(context.Configuration.GetConnectionString("DefaultConnection")))
无法识别 Azure 配置
看来 azure 未连接到您的构建,这可能是因为您对它的配置不稳定,也可能是因为 sql 数据过多,您希望它能够如此快速地处理。我猜是第二个。
问题出在ConfigureAppConfiguration。必须是:
.ConfigureAppConfiguration(c =>
{
c.AddEnvironmentVariables();
c.AddCommandLine(args);
})
所以,最后的 Main 是:
static async Task Main(string[] args)
{
#if DEBUG
Debugger.Launch();
#endif
var host = new HostBuilder()
.ConfigureAppConfiguration(c =>
{
c.AddEnvironmentVariables();
c.AddCommandLine(args);
})
.ConfigureFunctionsWorkerDefaults((c, b) =>
{
b.UseFunctionExecutionMiddleware();
})
.ConfigureServices((context, services) =>
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(context.Configuration.GetConnectionString("DefaultConnection")));
})
.Build();
await host.RunAsync();
}