Net6.0项目发布到IIS 503

接上篇NetCore3.1项目升级到Net6.0项目发布异常https://blog.csdn.net/hefeng_aspnet/article/details/127663403

发布成功后,下载运行时文件并安装:下载 .NET 6.0 (Linux、macOS 和 Windows)

这里我下载的Hosting Bundle (即箭头指向的下载链接)安装文件(如果不行选择对应的系统【x64或x86或都安装】文件下载安装),下载成功后直接安装即可。

在IIS上右键新建应用程序池:

新建网站,右键添加网站:

在浏览器上访问此端口:

http://localhost:8005/

结果悲剧了:

 怎么调试都是无法运行,提示503和500.30的异常,个人觉得应该与NetCore3.1发布没有区别啊,过程中总结的两个方案(仅个人观点,您有更好的方案可以留言,谢谢):

方案1.修改webconfig文件:

将进程内托管修改为进程外托管,将inprocess修改为outofprocess,然后我又重启了应用程序池及网站,在访问就成功了,如图:

 接口访问也都是正常的。

方案2.其实在调试的过程中,发现了一个异常:

An error occurred while starting the application.
InvalidOperationException: Application is running inside IIS process but is not configured to use IIS server.
Microsoft.AspNetCore.Server.IIS.Core.IISServerSetupFilter+<>c__DisplayClass2_0.<Configure>b__0(IApplicationBuilder app)

InvalidOperationException: Application is running inside IIS process but is not configured to use IIS server.

大概意思是:应用程序正在IIS进程内运行,但未配置为使用IIS服务器。

我想到了在Program.cs代码启动过程中我设置了UseKestrel,但没有指定IIS,于是开始在代码上尝试,代码如下:

 builder.WebHost
            .UseKestrel(so =>
            {
                //so.Limits.MaxConcurrentConnections = 100;
                //so.Limits.MaxConcurrentUpgradedConnections = 100;
                so.Limits.MaxRequestBodySize = 1024 * 1024 * 600;
            }).UseIIS();

还真有UseIIS,但是请注意:UseIIS不能放在UseKestrel前面,否则还是会报503的异常;将网站应用池停止后再发布,网站应用池启动后,访问一切正常。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值