Asp.net core Kestrel UseHttps()方法签名在.net core 2中更改
我已经编写了一个基于.NETCore1.1的ASP.NET应用程序。此应用程序按预期工作。今天,我刚刚将服务器升级到Asp.net core Kestrel UseHttps()方法签名在.net core 2中更改,asp.net-core,Asp.net Core,我已经编写了一个基于.NETCore1.1的ASP.NET应用程序。此应用程序按预期工作。今天,我刚刚将服务器升级到dotnet-sdk-2.0.0-preview2-006497,并对.csproj文件进行了必要的更改 在我的应用程序的主方法中,我有以下代码: var host = new WebHostBuilder() .UseKestrel(options => { options.UseHttps("MyCert.pfx"); }) ...
dotnet-sdk-2.0.0-preview2-006497
,并对.csproj
文件进行了必要的更改
在我的应用程序的主方法中,我有以下代码:
var host = new WebHostBuilder()
.UseKestrel(options => {
options.UseHttps("MyCert.pfx");
})
...
此代码在.net core 1.0下正常工作,但在.net core 2.0下出现错误
KestrelServerOptions does not contain a definition for UseHttps and
the best extension method overload
ListenOptionsHttpsExtensions.UseHttps(ListenOptions, string) requires
a receiver of type ListenOptions
我想知道我怎样才能解决这个问题。我可以将
null
作为参数传递吗?关于。这是一个突破性的变化,请参见,重要的一点是:
.Listen()上没有重载,允许您在不使用选项lambda的情况下配置SSL证书
换句话说,您只能在某些侦听选项中添加HTTPS。最简单的选择是:
var host = new WebHostBuilder()
.UseKestrel(options =>
options.Listen(IPAddress.Any, 443, listenOptions =>
listenOptions.UseHttps("MyCert.pfx")))
...
因此,您的意思是使用端口443监听任何分配的IP。请在升级尝试之前或之后定期检查,所有这些都会破坏更改(除非他们忘记宣布一个:p)