重新启动Azure应用服务时,dotnet.exe无法启动

时间:2019-01-22 09:42:28

标签: azure azure-web-app-service

我们有几个在线的Azure应用服务,重新启动任何一个我都遇到了一个一致的问题。

我们右键单击->从Visual Studio发布到现有的App Service实例,该实例立即使其联机并可以运行,我们可以毫无问题地更新和重新发布新代码,但是可以从Azure门户重新启动到App Service不会启动dotnet.exe

重新启动或停止/启动时,线程数立即降至0,并继续不执行任何操作。

我必须再次从VS手动发布以重新启动dotnet.exe

我可以看到dotnet.exe不是通过Kudu -> Process Explorer进行的活动过程,然后手动发布到App Service,然后再次刷新Process Explorer列表,就会显示{{1} }现在处于活动状态,App Service开始按预期运行。

是否有一种方法可以防止这种情况发生,或者至少可以调试为什么会发生这种情况?

1 个答案:

答案 0 :(得分:1)

事实证明,这是由静默故障引起的,除了我要设置的错误处理之外。 IIS将加速关联的进程,但是dotnet会抛出并出错,并“无声地”死亡。

我使用引号是因为我没有利用Azure的深度日志记录,该日志记录将错误消息从普通视图隐藏直到打开。

一些基本的调试步骤:

  • 打开您的Kudu控制台(高级工具->转到->调试控制台),然后导航至LogFiles,打开eventlog.xml,最新事件列在底部。

  • 在本地的dotnet myDll.dll文件夹中运行debug,其中myDll.dll是项目中的主要dll。通常,这会引发导致dotnet退出的错误,这在设计时并不明显。

  • 确保服务器端appsettings.json(或关联的appsettings.[development/release].json)包含您尝试访问的连接字符串。

我们不是由于设计时错误而发生的错误,通常在尝试访问运行时资源(例如appsettings)时就会发生错误。