我正在尝试用.net 5部署一个azure函数,"dotnet-isolated",但是我不能在上面运行sql server。这是我的配置启动
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配置
发布于 2021-04-06 22:31:51
问题出在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();
}发布于 2021-04-06 21:21:12
似乎azure没有连接到你的构建,要么是因为你的配置不稳定,要么是因为你想让它如此快地处理过多的sql数据。我猜是第二种。
https://stackoverflow.com/questions/66969374
复制相似问题