ASP.NET Core 使用IIS作为Web服务器,部署在IIS上

1.修改项目代码Program.cs文件

替换为如下内容:

public class Program
    {
        public static void Main(string[] args)
        {
            var host = new WebHostBuilder()
                .UseKestrel()
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseIISIntegration()
                .UseStartup<Startup>()
                .Build();
            host.Run();
        }

    }

同时,作为在IIS上运行Web应用必不可少的一环,要给此程序添加一个web.config文件

默认内容如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" startupTimeLimit="3600" requestTimeout="23:00:00" />
  </system.webServer>
</configuration>

2. 生成项目之后进行发布

右键项目,选择发布:



选择IIS、FTP模式,点击发布


发布方法选择文件系统,并制定好路径,不存在会自动创建


最后,点击保存,在下方输出窗口可以看到此次发布结果



3.将发布的应用程序部署在IIS上

首先,选择IIS根目录,点击模块




可见,在列表中并没有支持ASP.NET Core的AspNetCoreModule托管模块,需要手动下载

http://download.microsoft.com/download/3/8/1/381CBBF3-36DA-4983-BFF3-5881548A70BE/DotNetCore.1.0.4_1.1.1-WindowsHosting.exe

及时获取最新版本的安装包

完成安装之后,可以开始进行部署,物理路径选择刚刚发布项目的根目录


网站创建完成后,配置应用程序池为无托管代码


完成以上步骤之后,可以浏览网站



可见,基于ASP.NET Core框架的应用已经在IIS上部署成功,可以访问了


猜你喜欢

转载自blog.csdn.net/ujm097/article/details/80003799