我有部署在Azure Web应用程序服务中的.NET Core 3.1 API。由于出现错误500.37 ANCM Failed to Start Within Startup Time Limit,在Azure中运行应用程序遇到了麻烦。我设法通过增加web.config中的startupTimeLimit来解决此问题(如下所示)。
但是现在,当我在Azure PAAS中运行2个实例时。其中一个实例工作正常,但另一个实例我仍然有相同的错误。
关于如何为IIS中的多个实例设置startupTimeLimit的任何想法?
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!-- To customize the asp.net core module uncomment and edit the following section.
For more info see https://go.microsoft.com/fwlink/?linkid=838655 -->
<system.webServer>
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By" />
</customHeaders>
</httpProtocol>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\Clients.Api.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" startupTimeLimit="180" hostingModel="inprocess" >
</aspNetCore>
</system.webServer>
</configuration>
我使用了Azure Web应用Scale out (App Service plan)将正在运行的实例增加到2个。
答案 0 :(得分:1)
我们通过将startupTimeLimit增加到300来解决了该解决方案
<?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>
答案 1 :(得分:0)
Melchia,我遇到了同样的问题,我尝试了您的解决方案,但是当我在 web.config 中应用它时,我收到了 500 服务器错误。
我必须使用其他设置,以便我的 web.config 是:
/
我应该删除“位置”节点吗?还是我应该在我的 web.config 中添加其他内容?
答案 2 :(得分:0)
最后我能够修复这个错误。
这是一个配置错误(.net core 配置)。当 Azure 应用服务在 .net core 3.1 中时,需要对该项目进行额外的配置。 解决办法是:
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
最终的 *.proj 文件将是这样的:
<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
<UserSecretsId>my-secrets-go-here</UserSecretsId>
<Version>1.1.0.0</Version>
<Authors>me</Authors>
<Company>TheCompany</Company>
<Platforms>AnyCPU;x64</Platforms>
</PropertyGroup>
...
</Project>
就是这样。在您的 Azure 应用服务上添加这些更改并上传新版本后,应用程序将无错误地执行(除非有其他与您的代码相关的内容)。
通过从本地直接在 IIS 上执行我的项目,我能够复制此错误,当您这样做时,VS 打开 Web 浏览器但从未加载网页。