.NET CORE 3.1在Azure网站上:500.37 ANCM未能在启动时间限制内启动
.NET CORE 3.1在Azure网站上:500.37 ANCM未能在启动时间限制内启动
我有一个部署在Azure Web应用服务中的.NET Core 3.1 API。由于出现错误500.37 ANCM Failed to Start Within Startup Time Limit,在Azure中运行该应用程序时遇到了困难。通过增加web.config中的startupTimeLimit(如下所示),我成功解决了这个问题。\n但是,现在在Azure Web应用服务中运行2个实例时,其中一个实例工作正常,但另一个实例仍然出现相同的错误。\n有关如何在IIS中为多个实例设置startupTimeLimit的任何想法吗?\n
web.config
\n
\n
编辑:
\n我使用了Azure Web应用的Scale out (App Service plan)来将运行实例增加到2个。
在生产环境中运行我的.NET Core 3.1应用程序时,开始出现这个错误。在更新应用程序后立即出现此错误。然而,对我来说,在命令提示符上运行iisreset命令就足以解决这个错误。
这个错误的出现原因是应用程序在启动时间限制内无法启动。解决这个问题的方法是通过运行iisreset命令来重置IIS服务器。以下是解决方法:
iisreset
运行以上命令将重启IIS服务器,使应用程序能够在启动时间限制内成功启动。这种方法适用于.NET Core 3.1应用程序在Azure Web Sites上运行时出现500.37 ANCM Failed to Start Within Startup Time Limit错误的情况。
希望这篇文章能对遇到相同问题的开发者有所帮助。
在解决这个错误之前,首先需要了解问题的原因。根据给出的内容,问题是由于配置错误造成的,具体是由于.NET Core 3.1在Azure App Services上需要额外的配置。
解决方法如下:
在项目文件(asp.net或web api项目)(*.proj)中,在TargetFramework下面添加以下行:
OutOfProcess
最终的*.proj文件应该如下所示:
... netcoreapp3.1 OutOfProcess my-secrets-go-here 1.1.0.0 me TheCompany AnyCPU;x64
添加以上更改并将新版本上传到Azure App Service后,应用程序将在没有错误的情况下执行(除非与代码相关的其他问题)。
感谢楼主的分享,并给出了解决方法。通过在本地直接在IIS上执行项目,我成功复现了这个错误,当你这样做时,VS会打开Web浏览器,但网页永远不会加载。
这篇文章也提到了一个关于如何解决这个问题的链接:weblog.west-wind.com/posts/2020/Jan/14/…
问题原因:在Azure Web Sites上运行.NET Core 3.1应用时出现了500.37 ANCM启动时间超时的错误。
解决方法:通过增加启动时间限制(startupTimeLimit)来解决此问题,将其设置为300。
具体解决步骤如下:
1. 打开Web应用的web.config文件。
2. 在
3. 将
修改后的代码如下:
<?xml version="1.0"?> <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> <location> <system.webServer> <aspNetCore xdt:Transform="SetAttributes(startupTimeLimit)" startupTimeLimit="300"> </aspNetCore> </system.webServer> </location> </configuration>
4. 保存并部署修改后的web.config文件到Azure Web Sites上。
通过以上步骤,我们可以成功解决.NET Core 3.1在Azure Web Sites上出现的500.37 ANCM启动时间超时的问题。