无论是asp.net core razor pages 或MVC,还是blazor web App,在Windows IIS中部署时都要特别注意安装步骤。安装IIS必须在前,之后再安装 .net core windows hosting捆绑包(dotnet-hosting-***-win.exe,***为版本号).若顺序反了,则IIS无法解析。如果已经先安装了捆绑包,后安装或更新IIS,解决办法是重新安装或修复捆绑包。安装IIS的具体操作网上有很多,在此不再赘述.
另外需要注意的还有几点:
1.SqlServer连接字符串不要使用集成认证,最好是用户名\密码模式,否则可能无法登录到数据库.
2.为了检测到部署模式中的错误细节,可以先在program.cs中设置环境为Development,以便出错时能快速找到错误原因,待完全成功时再将环境改回Production.设置方法有多种,可以下面这种写法较简单:
var builder = WebApplication.CreateBuilder(new WebApplicationOptions
{
EnvironmentName = Environments.Development
});
3.对于blazor web app,由于其授权方式不同于razor pages或MVC,因此它若使用了其他授权要求,则可能需要在请求管道中手动加入以下中间件,这在vs模板中是没有的:
app.UseAuthentication();
app.UseAuthorization();
以上是我在开发中遇到的坑找到的解决办法,对大师们可能无所谓,对小白可能有所帮助吧.