Я создал Azure Web в C #, который ссылается на собственную динамическую библиотеку C ++. На локальном хосте приложение работает хорошо.
Но когда я развернул веб-приложение в Cloud Azure, оно не работало. Не понимаю, как идти вперед. пожалуйста помоги.
При сбросе вызова API появляется следующее сообщение: «Произошла ошибка».
При сбросе вызова API появляется следующее сообщение: «Произошла ошибка».
Чтобы получить подробную информацию об ошибке из ASP.NET REST API, нам нужно установить значение свойства IncludeErrorDetailPolicy как «Всегда» в WebApiConfig.cs.
config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
Если исключение, которое вы получили после изменения, IncludeErrorDetailPolicy: DllNotFoundException, убедитесь, что собственная библиотека DLL успешно развернута в папке bin Azure Web App. По умолчанию собственный файл DLL не будет развернут с вашей публикацией VS. Вам необходимо загрузить этот файл в папку bin вашего веб-приложения, используя FTP или сайт Kudu.
Если исключение, которое вы получили после изменения, IncludeErrorDetailPolicy: BadImageFormatException, вам нужно проверить платформу вашего веб-приложения и вашу нативную DLL.
Если платформа вашего веб-приложения является 32-разрядной, убедитесь, что исходная библиотека DLL была предназначена для сборки Win32 или All Platforms. Если вы собираете DLL на 64-битной машине. Все платформы обязательны.
Кроме того, веб-приложение Azure работает в безопасной среде, которая называется песочницей. Песочница обычно предназначена для ограничения доступа к общим компонентам Windows. Для получения подробной информации, ссылка ниже для вашей справки.
Общие ограничения песочницы веб-приложения Azure
Если ваша нативная DLL использует один из ограниченных API. Вызов вашей родной DLL также не удастся. Чтобы увидеть все зависимые модули вашей родной DLL, вы можете скачать и использовать Зависимость Уокер.
Других решений пока нет …