У меня есть веб-приложение ASP.NET MVC, которое интегрирует нашу управляемую библиотеку С#, которая загружает неуправляемые плагины для обработки файлов. Эти неуправляемые плагины, в свою очередь, полагаются на несколько сторонних библиотек для выполнения своей грязной работы; некоторые из них вызывают сбой IIS.
Мы используем точно такую же библиотеку в настольном приложении, которое отлично справляется с файлами. Файлы также прекрасно обрабатываются при работе под веб-сервером Cassini, который поставляется с Visual Studio 2008 (IIS и Cassini работают в одной и той же папке на моем локальном компьютере).
Я провел анализ сбоев с помощью диагностики отладки (изображение) из которого я не могу извлечь никакой полезной информации.
Я немного использовал procexp, чтобы увидеть, есть ли какие-либо неудачные попытки доступа к файлу или реестру, которые могут вызывать проблему, но не увенчались успехом. Я не видел ни одного, но мог бы легко пропустить их, учитывая количество строк, созданных в такого рода журналах.
Я настроил пул приложений для использования учетной записи домена и сделал эту учетную запись администратором в своем ящике, думая, что это может быть проблема с разрешением, но не повезло. Существуют ли другие ограничения доступа в IIS, о которых я не знаю?
Предложения? Статьи? Инструменты? Вуду?
EDIT: мне удалось отладить это до процедуры инициализации сторонней библиотеки. Поскольку библиотека отлично работает на других хостах, я подозревал либо проблему с правами доступа, либо проблему с памятью. Оказалось, что это ограничение размера стека при работе под IIS. См. Размеры стека в IIS — влияет на ASP.NET