ASP.NET Mvc Coreを使用して、httpsを使用するように開発環境を設定する必要があったため、Program.csのMain
メソッドに以下を追加しました。
var Host = new WebHostBuilder()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.UseKestrel(cfg => cfg.UseHttps("ssl-dev.pfx", "Password"))
.UseUrls("https://localhost:5000")
.UseApplicationInsights()
.Build();
Host.Run();
プロトコル/ポート番号/証明書を条件付きで設定できるように、ここでホスティング環境にアクセスするにはどうすればよいですか?
理想的には、CLIを使用して、ホスティング環境を次のように操作します。
dotnet run --server.urls https://localhost:5000 --cert ssl-dev.pfx password
しかし、コマンドラインから証明書を使用する方法はないようです。
最も簡単な解決策は、ASPNETCORE_ENVIRONMENT
環境変数と EnvironmentName.Development
:
var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
var isDevelopment = environment == EnvironmentName.Development;
これは私のソリューションです(ASP.NET Core 2.1用に書かれています):
public static void Main(string[] args)
{
var Host = CreateWebHostBuilder(args).Build();
using (var scope = Host.Services.CreateScope())
{
var services = scope.ServiceProvider;
var hostingEnvironment = services.GetService<IHostingEnvironment>();
if (!hostingEnvironment.IsProduction())
SeedData.Initialize();
}
Host.Run();
}