Мы работаем над сайтом ASP.NET 4.7.2 в 32-битной службе приложений Azure. Сайт разворачивается с использованием Visual Studio 2017 (15.9.9) с использованием профиля «Любой процессор».
При использовании потока журналов приложений через интерфейс 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 (которая может быть или не быть связана).
Сборка / запуск локально ничего не сообщает о 64-битных процессах.
Это проблема с нашим сайтом или с платформой? Если с нами проблема, как мы можем отсеять мошеннический 64-битный код? Или мы просто перейдем на 64-битный процесс и покончим с этим?
Нашим предпочтением будет продолжение в 32-битной установке. Я понимаю, что эта ошибка возникала на SO раньше, но всегда (насколько я вижу) по отношению к Windows dev. Заранее спасибо!