我们正在32位Azure应用服务上运行ASP.NET 4.7.2站点。该网站是使用Visual Studio 2017(15.9.9)和“任何CPU”配置文件进行部署的。
在通过Azure界面使用应用程序日志流时,我们看到许多错误,这些错误暗示存在64位模块,但无法访问。
以下是错误的示例:
2019-03-14T21:04:19 Error occurred, type: error, text: A 32 bit processes cannot access modules of a 64 bit process., stackTrace: at System.Diagnostics.NtProcessManager.GetModuleInfos(Int32 processId, Boolean firstModuleOnly)
at System.Diagnostics.ProcessManager.GetModuleInfos(Int32 processId)
at System.Diagnostics.Process.get_Modules()
at Kudu.Services.Performance.ProcessController.<>c__DisplayClass23_0.<GetProcessInfo>b__2() in C:\Kudu Files\Private\src\master\Kudu.Services\Diagnostics\ProcessController.cs:line 446
at Kudu.Services.Performance.ProcessController.SafeGetValue[T](Func`1 func, T defaultValue) in C:\Kudu Files\Private\src\master\Kudu.Services\Diagnostics\ProcessController.cs:line 531
2019-03-14T21:04:19 Error occurred, type: error, text: A 32 bit processes cannot access modules of a 64 bit process., stackTrace: at System.Diagnostics.NtProcessManager.GetModuleInfos(Int32 processId, Boolean firstModuleOnly)
at System.Diagnostics.NtProcessManager.GetFirstModuleInfo(Int32 processId)
at System.Diagnostics.Process.get_MainModule()
at Kudu.Services.Performance.ProcessController.<>c__DisplayClass23_0.<GetProcessInfo>b__3() in C:\Kudu Files\Private\src\master\Kudu.Services\Diagnostics\ProcessController.cs:line 447
at Kudu.Services.Performance.ProcessController.SafeGetValue[T](Func`1 func, T defaultValue) in C:\Kudu Files\Private\src\master\Kudu.Services\Diagnostics\ProcessController.cs:line 531
2019-03-14T21:04:19 Error occurred, type: error, text: D:\local\LocalAppData\SnapshotUploader\SnapshotUploader.exe, stackTrace: at System.Diagnostics.FileVersionInfo.GetVersionInfo(String fileName)
at System.Diagnostics.ProcessModule.get_FileVersionInfo()
at Kudu.Services.Performance.ProcessController.GetProcessModuleInfo(ProcessModule module, String href, Boolean details) in C:\Kudu Files\Private\src\master\Kudu.Services\Diagnostics\ProcessController.cs:line 401
at Kudu.Services.Performance.ProcessController.GetModules(Process process, String href) in C:\Kudu Files\Private\src\master\Kudu.Services\Diagnostics\ProcessController.cs:line 345
at Kudu.Services.Performance.ProcessController.<>c__DisplayClass23_0.<GetProcessInfo>b__22() in C:\Kudu Files\Private\src\master\Kudu.Services\Diagnostics\ProcessController.cs:line 472
at Kudu.Services.Performance.ProcessController.SafeGetValue[T](Func`1 func, T defaultValue) in C:\Kudu Files\Private\src\master\Kudu.Services\Diagnostics\ProcessController.cs:line 531
我们在本地没有遇到任何问题,但是看到Azure上的CPU使用率异常高(可能或可能不相关)。
在本地构建/运行不会报告与64位进程有关的任何内容。
这是我们的网站还是平台的问题?如果这是我们的问题,我们如何淘汰流氓的64位代码?或者,我们只是切换到64位进程并完成它?
我们希望继续使用32位设置。我意识到这个错误以前曾在SO上出现过,但相对于Windows开发人员而言(据我所知)总是如此。预先感谢!