Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc ASP.NET MVC Core 2.0-删除UserKestrel()以部署到Azure网站?_Asp.net Mvc_Azure - Fatal编程技术网

Asp.net mvc ASP.NET MVC Core 2.0-删除UserKestrel()以部署到Azure网站?

Asp.net mvc ASP.NET MVC Core 2.0-删除UserKestrel()以部署到Azure网站?,asp.net-mvc,azure,Asp.net Mvc,Azure,在ASP.NET MVC Core 2.0中,向BuildWebHost()添加可选方法的正确方法是什么 我需要在我的开发环境中添加UseKestrel()以在本地启用HTTPS,但我需要在生产环境中删除它,因为Azure网站不喜欢它 背景: 我将ASP.NET MVC Core 1.1应用程序迁移到了2.0。特别是,我遵循了此处概述的有关Program.cs更改的步骤: 该文档概述了构建web主机所需的新模式。。。基于此,我的BuildWebHost()方法的新2.0版本适用于开发: pub

在ASP.NET MVC Core 2.0中,向BuildWebHost()添加可选方法的正确方法是什么

我需要在我的开发环境中添加UseKestrel()以在本地启用HTTPS,但我需要在生产环境中删除它,因为Azure网站不喜欢它

背景:

我将ASP.NET MVC Core 1.1应用程序迁移到了2.0。特别是,我遵循了此处概述的有关Program.cs更改的步骤:

该文档概述了构建web主机所需的新模式。。。基于此,我的BuildWebHost()方法的新2.0版本适用于开发:

public static IWebHost BuildWebHost(string[] args) =>
  WebHost.CreateDefaultBuilder(args)
    .UseIISIntegration()
    .UseContentRoot(Directory.GetCurrentDirectory())
    .UseStartup<Startup>()
    .UseKestrel(options =>
    {
      options.Listen(IPAddress.Loopback, 5001, listenOptions =>
      {
        listenOptions.UseHttps("mycert.pfx", "password");
      });
    })
    .Build();
在搜索和阅读特定的错误代码时,我意识到这可能与我的Program.cs有关,并且已经开始关注UseKestrel()方法调用

我评论了这句话,并重新发表,它工作得非常好


那么,回到原来的问题。。。如何按照新模式构建web主机,但在本地运行时,包括UseKestrel()方法及其选项?

首先,我想说我是您的超级粉丝。很多很多年以前,我甚至说服我的雇主(当时)给我买终身会员资格。谢谢你,先生

选项#1:我看到Shawn Wildermuth在两个不同的Pluralsight视频中使用此代码(#如果调试),我怀疑它可能对您有用

公共静态IWebHost BuildWebHost(字符串[]args)=>
WebHost.CreateDefaultBuilder(args)
.Useii整合()
.UseContentRoot(目录.GetCurrentDirectory())
.UseStartup()
#如果调试
.UseKestrel(选项=>H
{
options.Listen(IPAddress.Loopback,5001,listenOptions=>
{
UseHttps(“mycert.pfx”,“密码”);
});
})
#恩迪夫

.Build()一个双重的好答案。:)首先,感谢您提供的#if调试提示。我听说肖恩的工作很出色。我只是不愿意看别人的内容,因为害怕被指控剽窃。而且,我没有意识到你可以在这样的方法调用中间使用它!第二,谢谢你的私人留言。我很高兴成为这么多人学习经验的一小部分。祝你万事如意!事实上,我先尝试了后一种解决方案,因为它感觉不错。。。但是,我的宿主环境是如何让它传入的?在我的例子中,当我尝试运行这个程序时,我收到一条错误消息:“程序不包含适合入口点的静态‘Main’方法”还有一件事。。。根据实验,该方法的名称必须为:BuildWebHost()。。。否则EF Core 2工具将无法工作。我认为,文件中没有充分强调这一点。
Application 'MACHINE/WEBROOT/APPHOST/BEASTMUFFIN' with physical root 'D:\home\site\wwwroot\' failed to start process with commandline 'dotnet .\BeastMuffin.Web.dll', ErrorCode = '0x80004005 : e0434352.