翻译如下:

支持的操作系统

  Windows 7及更高版本

  Windows Server 2008 R2及更高版本

  概念上,本文档中描述的IIS配置也适用于在Nano Server IIS上托管ASP.NET Core应用程序,但是请参阅Nano Server上的ASP.NET Core 以获取特定说明。

IIS配置

  启用Web服务器(IIS)服务器角色并建立角色服务。

   Windows桌面操作系统:

  导航到:控制面板>程序>程序和功能>打开或关闭Windows功能(屏幕左侧), 打开Internet信息服务和Web管理工具组。 选中IIS Management Console 的框。 选中World Wide Web Services的框。 接受World Wide Web Services 的默认功能或自定义IIS功能 以满足您的需要。

  Windows Server操作系统:

   对于服务器操作系统,请通过管理菜单或服务器管理器中的链接使用添加角色和功能向导。 在服务器角色步骤中,选中Web服务器(IIS)的框。

  在“角色服务”步骤上,选择所需的IIS角色服务或接受所提供的默认角色服务。

  

  继续执行确认步骤以启用Web服务器角色和服务。

安装.NET核心Windows Server主机包

在服务器上安装.NET Core Windows Server Hosting软件包。该包将安装.NET核心运行时,.NET核心库和ASP.NET核心模块。该模块在IIS和Kestrel服务器之间创建反向代理。
重新启动服务器或执行net stop was / y,然后从命令行启动net start w3svc,以检索对系统PATH的更改。
有关ASP.NET核心模块的更多信息,包括模块的配置和使用web.config设置环境变量,使用app_offline.htm挂起请求处理和激活模块日志记录,请参阅ASP.NET核心模块配置参考。

应用程序配置

启用IISIntegration组件
在应用程序依赖项中包含对Microsoft.AspNetCore.Server.IISIntegration软件包的依赖项。通过将.UseIISIntegration()扩展方法添加到WebHostBuilder(),将IIS集成中间件合并到应用程序中。

var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();

  

请注意,调用.UseIISIntegration()的代码不会影响代码的可移植性。

为IISIntegration服务设置IISOptions
要配置IISIntegration服务选项,请在ConfigureServices中包含IISOptions的服务配置。

services.Configure<IISOptions>(options => {
...
});

  

常见错误

  以下不是完整的错误列表。 如果您遇到此处未列出的错误,请在下面的DISQUS部分留下详细的错误消息(单击显示注释以打开DISQUS面板)。

  要诊断IIS部署的问题,请研究浏览器输出,通过事件查看器检查服务器的应用程序日志,并启用模块日志记录。 ASP.NET Core模块日志将在web.config中<aspNetCore>元素的stdoutLogFile属性中提供的路径上找到。 属性值中提供的路径上的任何文件夹必须在部署中存在。 您还必须设置stdoutLogEnabled =“true”以启用模块日志记录。 使用publish-iis工具创建web.config文件的应用程序将默认stdoutLogEnabled设置为false,因此必须手动提供文件或修改文件以启用模块日志记录。

Asp.Net Core--发布到IIS的更多相关文章

  1. asp.net core 发布到iis session无法传递的问题

    网站是用asp.net core 的Razor Pages开发的,其中用户登录用到了session,调试运行没有问题,但是发布到iis之后出现session无法记录的问题. 我用log记录查看了一下, ...

  2. HTTP Error 502.5 - ANCM Out-Of-Process Asp.Net Core发布到IIS失败

    问题概述 asp.net core网站发布到windows server 2012r2 IIS后,出现这个报错.dotnet xx.dll命令网站能够正常运行.说明不是程序问题. 经过一番折腾终于部署 ...

  3. ASP.Net Core 发布到IIS Http Error 502.5 官方解决办法

    Http Error 502.5 - Process Failure 在IIS上发布.NET Core程序出现这个错误.网上搜索到的办法为什么总行不通呢? 有可能年代久远,现在的环境与当年不同,所以解 ...

  4. ASP.NET Core 发布至Linux生产环境 Ubuntu 系统

    ASP.NET Core 发布至Linux生产环境 Ubuntu 系统,之前跟大家讲解了 dotnet publish 发布,而没有将整个系统串起来. 今天就跟大家综合的讲一下ASP.NET Core ...

  5. [转]Publishing and Running ASP.NET Core Applications with IIS

    本文转自:https://weblog.west-wind.com/posts/2016/Jun/06/Publishing-and-Running-ASPNET-Core-Applications- ...

  6. asp.net core 发布到 docker 容器时文件体积过大及服务端口的配置疑问

    在 asp.net core 发布时,本人先后产生了3个疑问. 1.发布的程序为什么不能在docker容器中运行 当时在window开发环境中发布后,dotnet xxx.dll可以正常运行:但放入d ...

  7. ASP.NET Core 发布

    ASP.NET Core 发布,asp.netcore发布 第一步:运行 dotnet restore 命令,以还原项目中指定的依赖项 dotnet restore 第二步:使用 dotnet bui ...

  8. ASP.NET Core 2.0 MVC 发布部署--------- ASP.NET Core 发布的具体操作

    ASP.NET Core 发布的具体操作 下面使用C# 编写的ASP.NET Core Web项目示例说明发布的全过程. 1.创建项目 选择“文件” > “新建” > “项目”. 在“添加 ...

  9. 使用 Visual Studio 部署 .NET Core 应用 ——ASP.NET Core 发布的具体操作

    ASP.NET Core 发布的具体操作 下面使用C# 编写的ASP.NET Core Web项目示例说明发布的全过程. 1.创建项目 选择“文件” > “新建” > “项目”. 在“添加 ...

  10. 发布ASP.NET Core网站到IIS

    打开VS2015,新建项目: 选择模板,取消身份验证: 项目加载完成后就可以运行了: 下面要发布到IIS: 需要安装从IIS到Kestrel server的反向代理,下载地址:.NET Core Wi ...

随机推荐

  1. Android--sharepreference总结

    SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数. SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/ ...

  2. [LeetCode] Largest BST Subtree 最大的二分搜索子树

    Given a binary tree, find the largest subtree which is a Binary Search Tree (BST), where largest mea ...

  3. [LeetCode] Different Ways to Add Parentheses 添加括号的不同方式

    Given a string of numbers and operators, return all possible results from computing all the differen ...

  4. [LeetCode] Rising Temperature 上升温度

    Given a Weather table, write a SQL query to find all dates' Ids with higher temperature compared to ...

  5. 使用Amoeba for mysql实现mysql读写分离

    Amoeba主要在应用层访问MySQL的时候充当query 路由功能,专注 分布式数据库 proxy 开发.座落与Client.DB Server(s)之间.对客户端透明.具有负载均衡.高可用性.Qu ...

  6. jQuery进阶

    复习: jq无论如何都是一个集合 jq是一个包装集 var arr=$("div").get( )会将所有的DOM对象转换成真正的数组, get( )里边没传参数 兄弟元素: 只要 ...

  7. JavaScript replace() 方法

    参考:http://www.w3school.com.cn/jsref/jsref_replace.asp 需要有一点注意的是:可以是函数的形式做为返回值,如下: "test{0}" ...

  8. C#的接口

    什么是接口?其实,接口简单理解就是一种约定,使得实现接口的类或结构在形式上保持一致.个人觉得,使用接口可以使程序更加清晰和条理化,这就是接口的好处,但并不是所有的编程语言都支持接口,C#是支持接口的. ...

  9. jquery使用案例

    表单验证 Dom实现表单验证 通过在form标签的submit上绑定一个onclick事件,用户点击事,触发这个事件,执行Checkvalid()函数进行对表单中的元素值验证,验证通过之后,继续让su ...

  10. JavaScript系列文章:从let和const谈起

    注册博客园账号也有好些年了,有事没事经常来逛逛,感觉博客园的同学们一直都很活跃,相比国内其他社区来讲,这里的技术氛围很浓,非常适合学习和交流,所以博主我也决定在这里驻扎了,在这里,博主希望能坚持写一些 ...