DLL работает с веб-сервером visual studio, но вылетает в IIS? - PullRequest
1 голос
/ 09 ноября 2011

Я вызываю неуправляемую dll в моем веб-приложении, и она прекрасно работает, но если я запускаю веб-приложение в IIS, то происходит сбой при вызове функции dll.Я не могу поймать исключение, там только его, т.е. сообщение об ошибке «страница не может быть отображена», и в средстве просмотра событий появляется ошибка:

Faulting application name: w3wp.exe, version: 7.5.7601.17514, time stamp: 0x4ce7a5f8
Faulting module name: ntdll.dll, version: 6.1.7601.17514, time stamp: 0x4ce7ba58
Exception code: 0x4000001f
Fault offset: 0x000ce625
Faulting process id: 0x2084
Faulting application start time: 0x01cc9eb290740fe8
Faulting application path: C:\Windows\SysWOW64\inetsrv\w3wp.exe
Faulting module path: C:\Windows\SysWOW64\ntdll.dll
Report Id: e0fc374f-0aa5-11e1-88bd-00224d5137ef

Настройки IIS: Включить 32-разрядные приложения: True Managed Pipeline Mode: ИнтегрированныйИдентификация: LocalSerice (пробовал каждый вариант)

Я работаю на Windows 7 и C # VS2010 Framework 4.0

Ответы [ 2 ]

2 голосов
/ 09 ноября 2011

попробуйте это,

оберните вызов функции с помощью

try {
   // Call your delphi dll function here
} catch {
   Console.WriteLine("error");
}

Теперь установите точку останова для части Console.WriteLine.

Выполните отладку приложения, заставив Visual Studio запустить приложение через IIS (не веб-сервер разработки VS).

Когда вы достигли своей точки останова внутри блока catch, перейдите к Watch Windowи проверьте, что хранится в переменной $exception.

Это может дать вам больше подсказок.

0 голосов
/ 09 ноября 2011

Попробуйте создать поток STA и связаться с ним через управляемую dll.Проверьте эту статью .

...