[英]dotnet.exe fails to start when restarting Azure app service
我们有几个 Azure 应用程序服务,在重新启动其中任何一个时我都遇到了一致的问题。
我们已右键单击 -> 从 Visual Studio 发布到应用服务的现有实例,使其立即联机并正常运行,我们可以毫无问题地更新和重新发布新代码,但从 Azure 门户重新启动应用服务不会启动dotnet.exe
。
重新启动或停止/启动时,线程数立即下降到 0 并继续无所作为。
我必须再次从 VS 手动发布以重新启动dotnet.exe
。
我可以通过Kudu -> Process Explorer
看到dotnet.exe
不是一个活动进程,手动发布到应用服务然后再次刷新Process Explorer
列表显示dotnet.exe
现在是一个活动进程和应用服务开始按预期运行。
有没有办法防止这种情况发生,或者至少调试它发生的原因?
事实证明,这是由静默故障引起的,在我实施的错误处理之外。 IIS 会启动相关的进程,但dotnet
会抛出错误并“悄悄地”死掉。
我使用引号是因为我没有使用 Azure 的深入日志记录,它在打开之前从普通视图中隐藏了错误消息。
对于一些基本的调试步骤:
打开你的Kudu
控制台(Advanced Tools -> Go -> Debug Console)并导航到LogFiles
,打开eventlog.xml
,最新的事件列在底部。
针对本地debug
文件夹运行dotnet myDll.dll
,其中myDll.dll
是项目中的主dll
。 这通常会抛出导致dotnet
退出的错误,这在设计时并不明显。
确保您的服务器端appsettings.json
(或关联的appsettings.[development/release].json
包含您尝试访问的连接字符串。
我们发生的错误不是由于设计时错误,它通常在尝试访问运行时资源(例如appsettings
)时appsettings
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.