ASP.NET Core 7 Razor Pages项目发布到IIS的详细过程(asp.net core 发布部署)没想到

随心笔谈2个月前发布 admin
204 00
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买

文章摘要

这篇文章介绍了如何在Windows 10环境下使用VS2022、.NET 7.0、SqlExpress 10和IIS Express 10发布一个基于ASP.NET Core的项目。主要问题及解决方法包括:数据库连接错误(涉及MsSqlExpress默认不支持远程访问)、网络连接问题、证书信任问题以及IIS用户权限问题。以下是简要总结: 1. **数据库连接错误**:由于MsSqlExpress默认不支持远程访问,无法连接到数据库。解决方法是修改SQL ServerManager10.msc配置,设置TCP动态端口为0,TCP端口为1433,并重启服务。 2. **证书信任问题**:数据库连接字符串中的证书链由不信任的颁发机构颁发。解决方法是增加`TrustServerCertificate=true`到数据库连接字符串中。 3. **IIS用户权限问题**:用户在IIS中无法登录。解决方法是在IIS管理器中调整应用程序池的标识为“LocalSystem”。 文章总结了发布ASP.NET Core项目到IIS的常见问题及其解决方案,为开发者提供了实用的参考信息。



目录项目环境:发布过程:发布过程遇到的问题及解决方法:解决办法:

    VS2022、.net7.0、SqlExpress10、IIS express10

在VS2022中,右击项目名称,选择“发布”选项;发布目标选择“文件夹”–>指定一个发布的目标文件夹;在IIS中新建一个站点,物理文件夹指定到刚才发布的文件夹;启动网站就OK了。

问题1:涉及到数据库的页面都显示错误内容。

原因:项目处于发布状态,隐藏了敏感信息;

解决办法:根据提示内容新建一个windows的环境变量后,就能看到错误内容了:

变量名:ASPNETCORE_ENVIRONMENT

变量值:Development

问题2:显示错误内容后提示无法连接到数据库

错误内容:SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. 

原因:因为项目使用的是MsSqlExpress数据库,MsSqlExpress数据库默认是没有打开远程访问的网络功能的;

解决办法:打开SQLServerManager10.msc,一般在C:\Windows\SysWOW64目录下,因为我的EXPRESS是10版本,所以后面是SQLServerManager10.msc,不同版本不一样。选择SQL SERVER网络配置,右击启动TCP/IP协议,右击–>属性–>IP,将TCP动态端口设置为0,TCP端口设置为1433,重启SQL EXPRESS服务。

问题3:Microsoft.Data.SqlClient.SqlException 证书链是由不受信任的颁发机构颁发的;

直接在“数据库连接字符串最后面”增加证书信任的配置。;TrustServerCertificate=true

例如:下面配置标红部分在你的代码配置中增加或者修改

<add name=”ConnectionString” connectionString=”Server=.;Initial Catalog=QDJYCZNZZ;Persist Security Info=False;User ID=sa;Password=123456;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=300;” providerName=”System.Data.SqlClient” />

问题4:解决IIS APPPOOL\DefaultAppPool登录失败的问题

问题描述:用户 ‘IIS APPPOOL\aikang’ 登录失败。在VS里面打开能正常运行,在IIS里面打开就总是提示这个错误;

解决办法:这个跟IIS的用户权限有关。打开IIS管理器,选择应用程序池,然后右击你站点的应用程序池–>高级设置,更改“进程模型”下的标识为“LocalSystem”。

到此这篇关于ASP.NET Core 7 Razor Pages项目发布到IIS的文章就介绍到这了,更多相关ASP.NET Core 发布到IIS内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:详解IIS在ASP.NET?Core下的两种部署模式IIS部署ASP.NET?Core项目及常见问题总结在IIS上部署ASP.NET Core Web API的方法步骤Asp.net core利用IIS在windows上进行托管步骤详解如何在ASP.NET Core应用程序运行Vue并且部署在IIS上详解在IIS上部署ASP.NET Core项目的图文方法

© 版权声明

相关文章