第1章 基于.Net(Core)框架Web程序的IIS部署发布

这篇具有很好参考价值的文章主要介绍了第1章 基于.Net(Core)框架Web程序的IIS部署发布。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基于.NetCore框架的部署发布的配置定义主要有两个部分的操作:1、配置IIS;2、通过VisualStudio把程序发布到指定文件夹中,下面将以通过.Net6框架开发的22-08-25-065_JsonTable(nopCommerce计划任务(ScheduleTasks)的定义实现)示例程序来详细讲述该程序是怎样被发布部署到IIS中的。

准备工作

1.1 下载并安装dotnet-hosting-6.0.9-win.exe

    先查看“AspNetCoreModuleV2”模块是否已经安装到了IIS7中,如下图所示:

第1章 基于.Net(Core)框架Web程序的IIS部署发布

第1章 基于.Net(Core)框架Web程序的IIS部署发布

    如果没有在模块中找到“AspNetCoreModuleV2”模块,则在Download ASP.NET Core 6.0 Runtime (v6.0.9) - Windows Hosting Bundle Installer, 进行下载。

1.2 下载并安装aspnetcore-runtime-6.0.9-win-x64.exe

先通过CMD命令行:“dotnet --info”查看本机是否已经安装了“aspnetcore-runtime-6.0.9-win-x64.exe”因为在安装VisualStudio开发工具时会连带“aspnetcore-runtime-6.0.8-win-x64.exe”一块被安装,如果已经安装执行结果如下图上所示:

第1章 基于.Net(Core)框架Web程序的IIS部署发布

注意: 

    因为现今的VisualStudio开发环境会经常的被更新,如果需要上这些准备工作都从Download .NET 6.0 (Linux, macOS, and Windows)中选择最新版本的进行下载并进行安装,以避免出现不必须的意外,如下图所示:

第1章 基于.Net(Core)框架Web程序的IIS部署发布

2 IIS配置基于HTTP协议的网站

首先需要在“应用程序池”中配置1个基于.Net(Core)6框架的专用应用程序池,具体的配置信息如下图所示:

第1章 基于.Net(Core)框架Web程序的IIS部署发布

第1章 基于.Net(Core)框架Web程序的IIS部署发布第1章 基于.Net(Core)框架Web程序的IIS部署发布

3 通过ViusalStudio发布部署Web程序

3.1 发布部署配置

3.1.1 右击“JsonTable”项目,选择“发布”,如下图所示:

第1章 基于.Net(Core)框架Web程序的IIS部署发布

3.1.2 在发布弹出框选择“文件夹”,如下图所示

第1章 基于.Net(Core)框架Web程序的IIS部署发布

3.1.3 点击“下一步”后,文件夹位置必须选择“D:\BaseHTTP” ,如下图所示:

第1章 基于.Net(Core)框架Web程序的IIS部署发布

3.1.4 点击“完成”后,点击“更多操作”选择“编辑” ,如下图所示:

第1章 基于.Net(Core)框架Web程序的IIS部署发布

3.1.5 Entity Framework迁移错误 ,如下图所示:

    如果在“编辑”过程中出现Entity Framework迁移错误,如下图所示

第1章 基于.Net(Core)框架Web程序的IIS部署发布

解决方案是:在项目中通过Nuget单独引用“Microsoft.EntityFrameworkCore.Design”,由于“JsonTable”已经在通过Nuget引用“Microsoft.EntityFrameworkCore.Tools”时同时引用了“Microsoft.EntityFrameworkCore.Design”,所以不会出现上述错误,,如下图所示:

第1章 基于.Net(Core)框架Web程序的IIS部署发布

3.1.6选择“SQL Server身份认证”和连接字符串对SQL Server数据库进行身份验证,如下图所示:

第1章 基于.Net(Core)框架Web程序的IIS部署发布

    注意:只能选择“SQL Server身份认证”和连接字符串对SQL Server数据库进行身份验证,如果选择“Windows凭据”和连接字符串对SQL Server数据库进行身份验证,在IIS访问已经发布的网站时,页面会出现“HTTP Error 500.30 - ASP.NET Core app failed to start”错误,如下图所示:

第1章 基于.Net(Core)框架Web程序的IIS部署发布

3.1.6.1选择“Windows凭据”定义

    "ConnectionStrings": {

        //Trusted_Connection=true或Integrated Security=true/SSPI:“Windows凭据”对SQL Server进行身份验证,表示可以在不知道数据库用户名和密码的情况下时,依然可以连接SQL Server数据库。

        //"integrated":"security=true是通过“Windows身份认证”对SQL Server数据库进行身份验证,并与SQL Server数据库进行连接;表示可以在不知道数据库用户名和密码的情况下时,依然可以连接SQL Server数据库,如果integrated", "security=false","或者不写,表示一定要输入正确的数据库登录名和密码。": null。

        //Persist Security Info:该配置只用于通过“SQL Server身份认证”对SQL Server数据库进行身份验证,并与SQL Server数据库进行连接;简单的理解为"ADO在数据库连接成功后是否保存密码信息",True表示保存,False表示不保存.ADO缺省为True(ADO.net缺省为False,未测试,根据参考资料上说的)。

        //MultipleActiveResultSets:它允许在单个连接上执行多重的数据库查询或存储过程,目前只适用于Sql Server 2005及其以上版本;如果不用MultipleActiveResultSets ,则一般报错为sqldatareader未关闭,即需要关闭了之后才能打开另一个。

        //Trust Server Certificate:是否使用SSL证书和加密方式,对SQL Server数据库的连接字符串进行加密,该操作属性安全性配置,目前只适用于Sql Server 2005及其以上版本;

        "SqlServerWindows": "Data Source=.;Initial Catalog=JsonTable;Integrated Security=true;MultipleActiveResultSets=true;Trust Server Certificate=True",

        //"SqlServerSQL": "Data Source=.;Initial Catalog=JsonTable;Integrated Security=False;Persist Security Info=False;User ID=zz;Password=zz;MultipleActiveResultSets=true;Trust Server Certificate=True"

    },

//通过UseSqlServer依赖注入中间,通过“Windows身份认证”对SQL Server数据库进行身份验证,并与SQL Server数据库进行连接。

builder.Services.AddDbContext<EFCoreContext>

   (options => options.UseSqlServer(builder.Configuration.GetConnectionString("SqlServerWindows")));

//通过UseSqlServer依赖注入中间,通过“SQL Server身份认证”对SQL Server数据库进行身份验证,并与SQL Server数据库进行连接,连接字符串中必须配置所连接数据库的:用户名、密码。

//builder.Services.AddDbContext<EFCoreContext>

//    (options => options.UseSqlServer(builder.Configuration.GetConnectionString("SqlServerSQL")));

3.1.6.2选择“SQL Server身份认证”定义

    "ConnectionStrings": {

        //Trusted_Connection=true或Integrated Security=true/SSPI:“Windows凭据”对SQL Server进行身份验证,表示可以在不知道数据库用户名和密码的情况下时,依然可以连接SQL Server数据库。

        //"integrated":"security=true是通过“Windows身份认证”对SQL Server数据库进行身份验证,并与SQL Server数据库进行连接;表示可以在不知道数据库用户名和密码的情况下时,依然可以连接SQL Server数据库,如果integrated", "security=false","或者不写,表示一定要输入正确的数据库登录名和密码。": null。

        //Persist Security Info:该配置只用于通过“SQL Server身份认证”对SQL Server数据库进行身份验证,并与SQL Server数据库进行连接;简单的理解为"ADO在数据库连接成功后是否保存密码信息",True表示保存,False表示不保存.ADO缺省为True(ADO.net缺省为False,未测试,根据参考资料上说的)。

        //MultipleActiveResultSets:它允许在单个连接上执行多重的数据库查询或存储过程,目前只适用于Sql Server 2005及其以上版本;如果不用MultipleActiveResultSets ,则一般报错为sqldatareader未关闭,即需要关闭了之后才能打开另一个。

        //Trust Server Certificate:是否使用SSL证书和加密方式,对SQL Server数据库的连接字符串进行加密,该操作属性安全性配置,目前只适用于Sql Server 2005及其以上版本;

        //"SqlServerWindows": "Data Source=.;Initial Catalog=JsonTable;Integrated Security=true;MultipleActiveResultSets=true;Trust Server Certificate=True",

        "SqlServerSQL": "Data Source=.;Initial Catalog=JsonTable;Integrated Security=False;Persist Security Info=False;User ID=zz;Password=zz;MultipleActiveResultSets=true;Trust Server Certificate=True"

    },

//通过UseSqlServer依赖注入中间,通过“Windows身份认证”对SQL Server数据库进行身份验证,并与SQL Server数据库进行连接。

//builder.Services.AddDbContext<EFCoreContext>

//   (options => options.UseSqlServer(builder.Configuration.GetConnectionString("SqlServerWindows")));

//通过UseSqlServer依赖注入中间,通过“SQL Server身份认证”对SQL Server数据库进行身份验证,并与SQL Server数据库进行连接,连接字符串中必须配置所连接数据库的:用户名、密码。

builder.Services.AddDbContext<EFCoreContext>

    (options => options.UseSqlServer(builder.Configuration.GetConnectionString("SqlServerSQL")));

3.1.7点击“保存”后,点击“发布”,,如下图所示:

第1章 基于.Net(Core)框架Web程序的IIS部署发布

4 通过IIS运行BaseHTTP  

4.1 点击“浏览*:8080(http)” ,如下图所示:

第1章 基于.Net(Core)框架Web程序的IIS部署发布

.2 基于HTTP的运行效果 ,如下图所示:

第1章 基于.Net(Core)框架Web程序的IIS部署发布

5 通过IIS运行BaseHTTPS

5.1 IIS配置基于HTPPS协议的网站

第1章 基于.Net(Core)框架Web程序的IIS部署发布

5.2 HTTP Error 500.35

    错误:点击“浏览*:443(https)” 时会页面会渲染“HTTP Error 500.35”,如下图所示:

第1章 基于.Net(Core)框架Web程序的IIS部署发布

解决方案是:在IIS中停用“BaseHTTP”,如下图所示

第1章 基于.Net(Core)框架Web程序的IIS部署发布

5.3 基于HTTPS的运行效果 ,如下图所示:

第1章 基于.Net(Core)框架Web程序的IIS部署发布

       对以上功能更为具体实现和注释见:22-09-15-01_JsonTable(nopCommerce计划任务(ScheduleTasks)IIS部署发布文章来源地址https://www.toymoban.com/news/detail-443634.html

到了这里,关于第1章 基于.Net(Core)框架Web程序的IIS部署发布的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 项目发布部署:如何发布.NETCore项目到IIS服务器?

    前言:本文将详细介绍如何发布.NET Core项目到IIS服务器。首先,第一步需要安装IIS,介绍了在本地电脑和服务器中进行安装。然后需要安装SDK和运行时才能发布.NETCore项目。其次介绍了如何发布.NETCore项目和Vue项目,并配置IIS。最后介绍了如何将项目部署到Service服务中。 (

    2024年02月13日
    浏览(54)
  • .NET Core发布到IIS

    项目介绍 1、开发工具Visual Studio 2017,语言C#,SQL SERVER,WIN10 2、本地IIS,手机上或其他用户在和本地在同一个局域网内访问,同时要把防火墙关掉 3、IIS全名Internet Information Services,用来发布网站 先决条件 安装 .NET Core 托管捆绑包[https://dotnet.microsoft.com/en-us/download/dotnet/thank-yo

    2024年02月12日
    浏览(36)
  • Asp .Net Web应用程序(.Net Framework4.8)网站发布到IIS

    开启IIS 如果已开启跳过这步 打开控制面板-程序  打开IIS 发布Web程序(.Net Framework 4.8 web网页) 进入IIS管理器新建一个应用池 新建一个网站 网站创建完毕 为文件夹添加访问权限  如果不添加访问权限,运行时将会得到如下错误 设置权限   勾选上面添加的账户的修改权限 

    2024年01月21日
    浏览(88)
  • 《深入浅出.NET框架设计与实现》笔记6.2——ASP.NET Core应用程序多种运行模式之二——IIS 服务承载

     ASP.NET Core应用程序可以在多种运行模式下运行,包括自宿主(Self-Hosting)、IIS服务承载、桌面应用程序、服务承载。 因此选择和时的模式很重要。 IIS 服务承载 将 ASP.NET Core 应用程序托管在 Internet Information Services (IIS) 中。 利用 IIS 提供的高级功能,如负载均衡、HTTPS 支持和

    2024年04月26日
    浏览(51)
  • asp.net core项目发布到 iis上

            我们都知道与传统asp.net 项目比较,ASP.NET Core则完全不同,它并不是运行在IIS的工作进程中,而是独立运行的。它运行于控制台应用程序之中,控制台中则运行了Kestrel Web服务器组件。Kestrel作为一款.NET Web服务器的实现,它在吞吐量性能方面做了很多工作。它可以

    2024年01月21日
    浏览(50)
  • .NET Core webapi 从零开始在IIS上面发布后端接口

    .NET core是以后.NET未来的趋势,虽然我感觉Java在web后端的主导地位10年内不会动摇,因为Java占据了先发优势。 不过C#的特点就是,简单,好用,全栈。C#语法糖很舒服,C#能写后端,桌面端,还有Unity关门大弟子支持。外挂个Vue+uniapp。可以说是全栈开发了。 对了,我最近研究了

    2024年01月18日
    浏览(39)
  • ASP.NET Core:部署到 IIS

    本文章介绍如何在 IIS 服务器上托管 ASP.NET Core 应用。 在 IIS 服务器上安装 .NET Core 托管捆绑包。 捆绑包可安装 .NET Core 运行时、.NET Core 库和 ASP.NET Core 模块。 该模块允许 ASP.NET Core 应用在 IIS 后面运行。 使用以下链接下载安装程序: 当前 .NET Core 托管捆绑包安装程序(直接下

    2024年02月14日
    浏览(42)
  • .net core项目部署在IIS上遇见的问题

    处理程序\\\"aspNetCore\\\"在其模块列表中有一个错误模块\\\"AspNetCoreModuleV2\\\" (1)原因: IIS服务器上的.net core 运行时不是最新的,导致AspNetCoreModuleV2模块缺失或者报错; (2)解决: ①.安装“.Net Core Runtime” 需要安装. Net Core Runtime ,安装最新版 安装链接 :https://dotnet.microsoft.com/downloa

    2024年02月07日
    浏览(43)
  • .NET Core 8 部署在 IIS 的简单三步

    下载 dotnet-hosting-x.y.z-win.exe ,下载地址:.NET Downloads (Linux, macOS, and Windows) (microsoft.com)   选择对应的版本,点击进入详细页,如 8.0 的版本: 版本最好和你的开发环境版本一致, 比如我的开发环境目前是 8.0.3,前几天出了最新的版本,目前是8.0.4版本。 下载右边的 Runtime 版

    2024年04月15日
    浏览(31)
  • ASP.NET Core Web应用程序项目部署流程

    目录 一、准备ASP.NET Core应用程序部署文件 二、环境配置 三、测试 ASP.NET Core Web 应用程序 四、部署后访问失败问题 以下部署流程都是基于Windows服务器环境下进行的。 一、准备ASP.NET Core应用程序部署文件 使用 Visual Studio 开发工具创建 ASP.NET Core 的Web应用程序,利用VS工具发布

    2024年02月05日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包