新手在IIS上发布.NET CORE框架的系统之注意事项

序:本篇随笔是我的处子笔,只想记录自己觉得在系统发布过程中比较重要的步骤,一来,忝作自己的学习笔记,以备不时之需,二来,也希望可以帮助有需要的同仁。诚然,了解的同学会

觉得内容太过简单,不过技术这门功课,是会的人觉得简单,不会的人觉得万难,因此就认认真真的记录下来罢。

由于在IIS上发布.NET CORE框架的系统和发布一般的ASP.NET WEB应用程序的步骤大致相同,所以本文就不再一步一步赘述,只拣重要的操作说明,下面按照开发阶段和IIS部署阶段来详细描述,

本文的.NET CORE版本为2.2。

在正式开启之前,先贴一张错误图片:

(一)开发阶段

1、启用 IISIntegration 组件

  在主程序中添加微软提供的组件:Microsoft.AspNetCore.Server.IISIntegration,若是使用Nuget,可直接搜索“IISIntegration”即可找到,接着在系统入口方法(Program.cs)中启动该组件,具体

  方法为调用WebHostBuilder的UseIISIntegration方法。

(二)IIS部署阶段

2、安装AspNetCoreModule模块

  下载模块安装包( https://dotnet.microsoft.com/download/dotnet-core/2.2),该安装包包含了Runtime。安装后在控制面板中会新增3项:

      在IIS发布的网站对应模块页面中可以看到新增了2项:

       如果你觉得V2看着比较别扭,可以直接删除,不影响程序的正常发布(本地IIS亲测)。刚开始我以为是因为我安装了两个版本的模块,所以会有V2,然后各种卸了装,装了卸,后来换了一台电

  脑直接安装2.2版本才发现,安装了2.2就会显示两个模块。

    3、应用程序池的配置

    这里我想提及的并是不.NET CLR版本设置为“无托管代码”,而是另一个比较隐秘的设置。在应用程序池的高级设置中有一个“加载用户配置文件”选项,我本地(Win10系统)默认是True,所以在其

  他工作完成后系统就能正常运行,但我将文件移到服务器(Windows Server 2008)上时,并不能成功运行,后面仔细对比,才发现服务器上该选项默认是False,修改为True后错误页随之消失了。

    关于这个选项,我还继续深究了一下,在本地环境下将该选项改为False,系统也可以正常运行,但服务器上却不行,比较分析应该是环境的原因吧。

    后记:通过这次实践,我总结出了两个经验:1、多看官方手册,很多问题官方文档里都考虑到了,但问题是对有些问题而言官方文档太专业,小白看着吃力,比如我,所以说知识的厚度决定了解

  决问题的难易程度,也定格了看问题的深度。2、既然知道了知识的重要性,那第二个经验自然就是好好学习咯。

  参考文献:https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2

20190705-记IIS发布.NET CORE框架系统之所遇的更多相关文章

  1. List多个字段标识过滤 IIS发布.net core mvc web站点 ASP.NET Core 实战:构建带有版本控制的 API 接口 ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目 Using AutoFac

    List多个字段标识过滤 class Program{  public static void Main(string[] args) { List<T> list = new List& ...

  2. IIS发布.net core mvc web站点

    这里只有操作步骤! 第一.查看IIS是否安装了 AspNetCoreModule,查看路径:IIS->模块 查看 安装步骤 下载网址:https://www.microsoft.com/net/ ...

  3. windows IIS发布.net core网站的环境配置

    1.安装对应的.net core的runtime2.安装Windows Server Hosting下载地址:https://www.microsoft.com/net/download/core#/ ...

  4. 记CentOS 发布.NET Core 2.0

    centos 7.x sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc sudo sh -c 'echo -e & ...

  5. 记一次IIS发布网站导致系统时常跳入登录页面的问题解决

    服务器:winserver2012R2 iis 发布网站后,正常浏览网页,时常跳到登录页面,第一反应session过期,因为登录信息都存在session,但session 都是默认配置过期时间为20分 ...

  6. 在IIS下发布.Net Core MVC项目

    1. 默认你已经安装了IIS,并且创建了一个.Net Core 项目 2. 发布.NET Core项目 在vs中右键点击MVC项目,点击"发布"按钮,选择"文件系统&qu ...

  7. IIS发布ASP.NET Core

    安装IIS.程序和功能--程序卸载--启用或关闭Windows功能 安装.NET Core SDK和Runtime.下载网址 https://www.microsoft.com/net/downloa ...

  8. .net core service && angular项目 iis发布

    项目结构 .net core 后端服务站点 angular 前端页面站点 项目模板来自于abp或者52abp .net core 后端服务站点发布到IIS 发布报错 .Net Core使用IIS部署出 ...

  9. 使用VS 2019发布.net core程序并部署到IIS的最新教程

    不管你是使用.net core开发的是web api还是网站类的程序,如果你是部署到IIS,那么下面的内容都适合于你,不会将.net core程序部署到IIS的朋友,可以看看这篇手把手教你部署.net ...

随机推荐

  1. Visual Studio 2019更新到16.2.1

    Visual Studio 2019更新到16.2.1   此次更新,包含以下修改: (1)支持Xcode 10.3. (2)修复了Forms项目中,预览Android界面效果bug. (3)修复am ...

  2. ES6深入浅出-12 ES6新增的API(下)-1.录屏

    String.includes es5里面判断字符串是否存在的方法 search searcg的厉害之处是可以使用正则 match正则的方式 repeat -1遍,就不合法 startsWith 判断 ...

  3. Qt编写自定义控件60-声音波形图

    一.前言 这个控件源自于一个音乐播放器,在写该音乐播放器的时候,需要将音频的数据转换成对应的频谱显示,采用的fmod第三方库来处理(fmod声音系统是为游戏开发者准备的革命性音频引擎,非常强大和牛逼) ...

  4. Python - Django - ORM 多对多操作

    models.py: from django.db import models # 出版社 class Publisher(models.Model): id = models.AutoField(p ...

  5. 实现不同的项目,用不同的git 账号提交

    可以全局配置一个git 账户名和密码,然后在具体项目里单独配置一个账户名和密码 例如: git config --global user.name "winyh" git conf ...

  6. php 保留2位小数

    $num = 10.4567; //第一种:利用round()对浮点数进行四舍五入 echo round($num,); //10.46 //第二种:利用sprintf格式化字符串 $format_n ...

  7. 小程序报错 thirdScriptError

    thirdScriptError sdk uncaught third Error Unexpected token export SyntaxError: Unexpected token expo ...

  8. 条件概率和链式法则 conditional probability & chain rule

    顾名思义, 条件概率指的是某个事件在给定其他条件时发生的概率, 这个非常符合人的认知:我们通常就是在已知一定的信息(条件)情况下, 去估计某个事件可能发生的概率. 概率论中,用 | 表示条件, 条件概 ...

  9. Swift 4.0 + Ipad开发项目中值得注意知识点

    1.注意Xib的约束和代码的约束,注意适配问题: 2.设置view的frame可以使用view.frame.maxX实现布局: 3.UIStackView在xib中的使用,可以很好的实现约束,布局和屏 ...

  10. linux 大量time_wait的解决方法

    通过调整内核参数解决vi /etc/sysctl.conf 编辑文件,加入以下内容:net.ipv4.tcp_syncookies = 1net.ipv4.tcp_tw_reuse = 1net.ip ...