第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服务器?

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

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

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

    .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日
    浏览(11)
  • Asp .Net Web应用程序(.Net Framework4.8)网站发布到IIS

    Asp .Net Web应用程序(.Net Framework4.8)网站发布到IIS

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

    2024年01月21日
    浏览(14)
  • 《深入浅出.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日
    浏览(10)
  • asp.net core项目发布到 iis上

    asp.net core项目发布到 iis上

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

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

    .NET Core webapi 从零开始在IIS上面发布后端接口

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

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

    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日
    浏览(9)
  • .NET Core 8  部署在 IIS 的简单三步

    .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日
    浏览(13)
  • .net core项目部署在IIS上遇见的问题

    .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日
    浏览(11)
  • ASP.NET Core Web应用程序项目部署流程

    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日
    浏览(14)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包