Я недавно добавил не C# dll к моей службе a, которая действует как HTTP Клиент . На моей локальной машине (Windows 10) все работает отлично. При попытке отправить запрос на Azure я получаю следующий ответ.
<h3>There is a problem with the page you are looking for, and it cannot be displayed. When the Web server (while acting as a gateway or proxy) contacted the upstream content server, it received an invalid response from the content server.</h3>
Разработчик dll и я отладили (VS Remote Debug) Службу приложений, и это исключение возникает, когда мы впервые попробовали использовать DllImport. Он утверждает, что в данный момент нет сетевого запроса. Но в любом случае он пытался исправить ошибку прокси в dll, но она все равно не работает на Azure. DLL зависит от kernel.dll и msvcrt.dll не должно быть проблемой?
В App Insight я получаю это исключение одновременно, отправляю запрос, но не уверен, связаны ли исключения: сборка при запуске Microsoft.AspNetCore.AzureAppServices.HostingStartup не удалось выполнить. Смотрите внутреннее исключение для более подробной информации. Не удалось загрузить файл или сборку 'Microsoft.AspNetCore.AzureAppServices.HostingStartup, Culture = нейтральный, PublicKeyToken = null'. Система не может найти указанный файл.
SystemInfo: версия ОС: Microsoft Windows NT 10.0.14393.0 64-битная система: True 64-битный процесс: False Количество процессоров: 4
DLL находится на сервере с верной версией.
Здесь происходит исключение:
[DllImport(LIB_32, EntryPoint = SYMBOL_FREE)]
internal static extern void Free32(IntPtr response);
[DllImport(LIB_64, EntryPoint = SYMBOL_FREE)]
internal static extern void Free64(IntPtr response);
[DllImport(LIB_32, EntryPoint = SYMBOL_INVOKE)]
internal static extern IntPtr Invoke32([In] byte[] request);
[DllImport(LIB_64, EntryPoint = SYMBOL_INVOKE)]
internal static extern IntPtr Invoke64([In] byte[] request);
protected override IntPtr PerformInvokeForArchitecure(byte[] request)
{
if (Is64BitSystem)
{
return Invoke64(request);
}
return Invoke32(request);
}