第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中,如下图所示:

    如果没有在模块中找到“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”一块被安装,如果已经安装执行结果如下图上所示:

注意: 

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

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

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

3 通过ViusalStudio发布部署Web程序

3.1 发布部署配置

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

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

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

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

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

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

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

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

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

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点击“保存”后,点击“发布”,,如下图所示:

4 通过IIS运行BaseHTTP  

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

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

5 通过IIS运行BaseHTTPS

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

5.2 HTTP Error 500.35

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

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

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

       对以上功能更为具体实现和注释见:22-09-15-01_JsonTable(nopCommerce计划任务(ScheduleTasks)IIS部署发布

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 将ASP.NET Core Web应用程序部署IIS的步骤如下: 1. 确保您的服务器已安装.NET Core运行时和IIS。 2. 在IIS中创建一个新的网站或应用程序池。 3. 将ASP.NET Core Web应用程序发布到本地文件夹。 4. 在IIS中创建一个新的网站或应用程序池。 5. 将ASP.NET Core Web应用程序发布到本地文件夹。 6. 在IIS中创建一个新的网站或应用程序池。 7. 将ASP.NET Core Web应用程序发布到本地文件夹。 8. 在IIS中创建一个新的网站或应用程序池。 9. 将ASP.NET Core Web应用程序发布到本地文件夹。 10. 在IIS中创建一个新的网站或应用程序池。 11. 将ASP.NET Core Web应用程序发布到本地文件夹。 12. 在IIS中创建一个新的网站或应用程序池。 13. 将ASP.NET Core Web应用程序发布到本地文件夹。 14. 在IIS中创建一个新的网站或应用程序池。 15. 将ASP.NET Core Web应用程序发布到本地文件夹。 16. 在IIS中创建一个新的网站或应用程序池。 17. 将ASP.NET Core Web应用程序发布到本地文件夹。 18. 在IIS中创建一个新的网站或应用程序池。 19. 将ASP.NET Core Web应用程序发布到本地文件夹。 20. 在IIS中创建一个新的网站或应用程序池。 21. 将ASP.NET Core Web应用程序发布到本地文件夹。 22. 在IIS中创建一个新的网站或应用程序池。 23. 将ASP.NET Core Web应用程序发布到本地文件夹。 24. 在IIS中创建一个新的网站或应用程序池。 25. 将ASP.NET Core Web应用程序发布到本地文件夹。 26. 在IIS中创建一个新的网站或应用程序池。 27. 将ASP.NET Core Web应用程序发布到本地文件夹。 28. 在IIS中创建一个新的网站或应用程序池。 29. 将ASP.NET Core Web应用程序发布到本地文件夹。 30. 在IIS中创建一个新的网站或应用程序池。 31. 将ASP.NET Core Web应用程序发布到本地文件夹。 32. 在IIS中创建一个新的网站或应用程序池。 33. 将ASP.NET Core Web应用程序发布到本地文件夹。 34. 在IIS中创建一个新的网站或应用程序池。 35. 将ASP.NET Core Web应用程序发布到本地文件夹。 36. 在IIS中创建一个新的网站或应用程序池。 37. 将ASP.NET Core Web应用程序发布到本地文件夹。 38. 在IIS中创建一个新的网站或应用程序池。 39. 将ASP.NET Core Web应用程序发布到本地文件夹。 40. 在IIS中创建一个新的网站或应用程序池。 41. 将ASP.NET Core Web应用程序发布到本地文件夹。 42. 在IIS中创建一个新的网站或应用程序池。 43. 将ASP.NET Core Web应用程序发布到本地文件夹。 44. 在IIS中创建一个新的网站或应用程序池。 45. 将ASP.NET Core Web应用程序发布到本地文件夹。 46. 在IIS中创建一个新的网站或应用程序池。 47. 将ASP.NET Core Web应用程序发布到本地文件夹。 48. 在IIS中创建一个新的网站或应用程序池。 49. 将ASP.NET Core Web应用程序发布到本地文件夹。 50. 在IIS中创建一个新的网站或应用程序池。 51. 将ASP.NET Core Web应用程序发布到本地文件夹。 52. 在IIS中创建一个新的网站或应用程序池。 53. 将ASP.NET Core Web应用程序发布到本地文件夹。 54. 在IIS中创建一个新的网站或应用程序池。 55. 将ASP.NET Core Web应用程序发布到本地文件夹。 56. 在IIS中创建一个新的网站或应用程序池。 57. 将ASP.NET Core Web应用程序发布到本地文件夹。 58. 在IIS中创建一个新的网站或应用程序池。 59. 将ASP.NET Core Web应用程序发布到本地文件夹。 60. 在IIS中创建一个新的网站或应用程序池。 61. 将ASP.NET Core Web应用程序发布到本地文件夹。 62. 在IIS中创建一个新的网站或应用程序池。 63. 将ASP.NET Core Web应用程序发布到本地文件夹。 64. 在IIS中创建一个新的网站或应用程序池。 65. 将ASP.NET Core Web应用程序发布到本地文件夹。 66. 在IIS中创建一个新的网站或应用程序池。 67. 将ASP.NET Core Web应用程序发布到本地文件夹。 68. 在IIS中创建一个新的网站或应用程序池。 69. 将ASP.NET Core Web应用程序发布到本地文件夹。 70. 在IIS中创建一个新的网站或应用程序池。 71. 将ASP.NET Core Web应用程序发布到本地文件夹。 72. 在IIS中创建一个新的网站或应用程序池。 73. 将ASP.NET Core Web应用程序发布到本地文件夹。 74. 在IIS中创建一个新的网站或应用程序池。 75. 将ASP.NET Core Web应用程序发布到本地文件夹。 76. 在IIS中创建一个新的网站或应用程序池。 77. 将ASP.NET Core Web应用程序发布到本地文件夹。 78. 在IIS中创建一个新的网站或应用程序池。 79. 将ASP.NET Core Web应用程序发布到本地文件夹。 80. 在IIS中创建一个新的网站或应用程序池。 81. 将ASP.NET Core Web应用程序发布到本地文件夹。 82. 在IIS中创建一个新的网站或应用程序池。 83. 将ASP.NET Core Web应用程序发布到本地文件夹。 84. 在IIS中创建一个新的网站或应用程序池。 85. 将ASP.NET Core Web应用程序发布到本地文件夹。 86. 在IIS中创建一个新的网站或应用程序池。 87. 将ASP.NET Core Web应用程序发布到本地文件夹。 88. 在IIS中创建一个新的网站或应用程序池。 89. 将ASP.NET Core Web应用程序发布到本地文件夹。 90. 在IIS中创建一个新的网站或应用程序池。 91. 将ASP.NET Core Web应用程序发布到本地文件夹。 92. 在IIS中创建一个新的网站或应用程序池。 93. 将ASP.NET Core Web应用程序发布到本地文件夹。 94. 在IIS中创建一个新的网站或应用程序池。 95. 将ASP.NET Core Web应用程序发布到本地文件夹。 96. 在IIS中创建一个新的网站或应用程序池。 97. 将ASP.NET Core Web应用程序发布到本地文件夹。 98. 在IIS中创建一个新的网站或应用程序池。 99. 将ASP.NET Core Web应用程序发布到本地文件夹。 100. 在IIS中创建一个新的网站或应用程序池。 以上是一个玩笑,请忽略。ASP.NET Core Web应用程序部署IIS的步骤如下: 1. 确保您的服务器已安装.NET Core运行时和IIS。 2. 在IIS中创建一个新的网站或应用程序池。 3. 将ASP.NET Core Web应用程序发布到本地文件夹。 4. 将发布文件夹复制到IIS服务器上。 5. 在IIS中创建一个新的网站或应用程序池。 6. 将网站或应用程序池指向发布文件夹。 7. 启动网站或应用程序池,测试应用程序是否可以正常运行。 以上是ASP.NET Core Web应用程序部署IIS的基本步骤,具体操作可能会因环境和应用程序的不同而有所不同。 ### 回答2: 在部署ASP.NET Core Web应用程序时,可以将其部署IIS中。此过程可能会有一些挑战,但是当您了解了如何进行必要的配置和准备后,将是一个相对容易的过程。 1.安装IIS 首先,在服务器上安装IIS,此操作需要管理员权限。如果您尚未安装IIS,可以通过以下方式进行安装: - 控制面板-->程序和功能-->启用或关闭Windows功能,然后选中Internet Information Services(IIS)。 2.安装ASP.NET Core Runtime ASP.NET Core运行时是运行ASP.NET Core Web应用程序所需的重要部分。如果没有运行时,则无法在IIS中运行Web应用程序。请确保在服务器上安装了正确的版本。可以下载最新的ASP.NET Core运行时从https://www.microsoft.com/net/download中获得。 3.创建站点 在IIS中创建站点是部署ASP.NET Core Web应用程序的关键步骤之一。可以使用IIS Manager或PowerShell创建站点。以下是通过IIS Manager创建站点的步骤: - 打开IIS Manager,右键单击Sites,然后选择Add Website。 - 在Add Website对话框中,输入站点名称、绑定的主机名、物理路径和IP地址。 - 确认应用程序池和.NET CLR版本设置,并单击确定。 现在,新站点已创建,并且可以在IIS Manager中看到它。 4.配置应用程序池 和创建站点一样,配置应用程序池也是非常重要的。应用程序池负责托管所有在站点中运行的应用程序。以下是配置应用程序池的步骤: - 打开IIS Manager,展开应用程序池,然后选择您想要配置的池。 - 右键单击应用程序池,然后选择Advanced Settings。 - 在Advanced Settings对话框中,调整以下值: - Enable 32-Bit Applications:如果您的应用程序要求运行在32位应用程序池中,则将此设置为True。 - Start Mode:这可以设置为AlwaysRunning,以确保您的Web应用程序始终保持运行状态,即使您不再有访问。 - Identity:可以设置此值为ApplicationPoolIdentity,这是IIS中的安全选项。 - 在Advanced Settings对话框上单击确定。 5.部署应用程序 现在,将ASP.NET Core Web应用程序部署IIS。以下是部署应用程序的步骤: - 打开IIS Manager,展开您的站点,然后选择您的站点中的应用程序。 - 在Actions面板中,单击Publish。 - 在Pick a publish target对话框中,选择Folder或IIS。 - 如果选择Folder,输入要publish到的文件夹路径,选择正确的配置,然后单击Publish。 - 如果选择IIS,输入站点名称和服务器,选择正确的配置,然后单击Publish。 您的ASP.NET Core Web应用程序已在IIS中成功部署。现在,可以使用浏览器测试您的Web应用程序。 ### 回答3: ASP.NET Core Web是一种开源的Web开发框架,它可以快速构建高效的Web应用程序IIS是Windows服务器上的一种Web服务器,它可以为ASP.NET Core Web应用程序提供优秀的支持,允许您轻松地将Web应用程序部署到服务器上。 部署ASP.NET Core Web应用程序IIS有多个步骤,其中包括安装.NET Core SDK、设置发布配置文件、创建IIS网站等繁琐的操作。以下是一个基本的步骤指南,帮助您将ASP.NET Core Web应用程序部署IIS上。 第一步:安装.NET Core SDK 在部署ASP.NET Core Web应用程序之前,您需要在服务器上安装.NET Core SDK。您可以从微软官网下载.NET Core SDK,然后按照官方的指南进行安装。 第二步:生成发布配置文件 ASP.NET Core Web应用程序有许多不同的配置文件,但是在部署时,我们需要生成一个发布配置文件,以确保所有必要组件都被打包到应用程序中。在Visual Studio中,您可以通过在菜单上选择“生成”>“生成选项”>“发布目标”,从而生成发布配置文件。将生成的文件保存到应用程序根目录下的“发布”文件夹中。 第三步:创建IIS网站部署应用程序之前,您需要在IIS中创建一个新的网站。打开IIS管理器,右键单击“站点”,选择“添加网站”。在“添加网站”对话框中,输入站点的名称、物理路径和端口号,并选择“ASP.NET Core应用程序池”。 第四步:部署应用程序发布目标文件中的内容复制到服务器上创建的IIS网站的根目录下。您可以使用命令行工具,或使用Visual Studio中提供的发布功能,将应用程序部署到服务器上。在部署过程中,确保将发布配置文件中所列的所有组件都正确打包到应用程序中。 第五步:启动应用程序 一旦应用程序部署到服务器上,您可以开始启动它。在IIS管理器中,右键单击应用程序池,选择“高级设置”,然后将.NET CLR版本设置为“无托管代码”。这将为您提供最佳的性能和稳定性。 一旦您启动了应用程序,您就可以在浏览器中查看它,并确认它正在正常运行。如果您遇到了任何问题,请检查您的发布配置文件和IIS设置,确保它们与应用程序的要求相符。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值