如何在IIS后面运行Kestrel

时间:2017-09-28 10:44:02

标签: iis model-view-controller asp.net-core port kestrel

我在远程服务器上运行asp.net核心网站时遇到问题。 我想在IIS中使用红隼,并在Visual Studio 2017中发布 这是我的program.cs:

public static void Main(string[] args)
{
var host = new WebHostBuilder()
            .UseKestrel()
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseUrls("http://example.com")
            .UseIISIntegration()
            .UseStartup<Startup>()
            .UseApplicationInsights()
            .Build();
host.Run();
}

在远程服务器上,当我双击myWebAppName.exe时,红隼运行并且非常快速关闭 我应该做什么? 请求,帮助我

2 个答案:

答案 0 :(得分:2)

首先:如果要在IIS中托管,则无需单击app .exe文件。这样做可以将其作为独立应用程序运行。相反,你应该创建一个IIS网站。

通过代码进行配置只是其中一个步骤。您还需要配置IIS来托管您的应用程序。请按照此Set up a hosting environment for ASP.NET Core on Windows with IIS, and deploy to it官方文档进行设置。

注意:对于各种ASP.NET Core版本,一些步骤是不同的。

答案 1 :(得分:1)

似乎抛出了一些未处理的异常(&#34; app非常快地关闭&#34;)。打开命令行(cmd.exe),导航到您的app文件夹并从命令行运行.exe - 它不会关闭,您将看到错误消息。

修复错误后(您的应用程序将在服务器上运行,而不是关闭) - 阅读Set up a hosting environment for ASP.NET Core on Windows with IIS, and deploy to it以了解如何在IIS下/后运行您的应用程序。简而言之:IIS将运行您的.exe本身(当网站启动时),无需手动启动它。