2010-12-09 5 views
1

У меня есть проект ASP.NET с использованием dll COM. Когда я загружаю сайт, я вхожу в систему без проблем, и я могу хорошо просматривать сайт, пока я не перехожу на страницу, использующую библиотеку COM.Использование сторонней COM-библиотеки dll в ASP.NET

Когда я перехожу на страницу, которая использует библиотеку COM для получения данных из базы данных, страница загружается штрафом. Проблема возникает, когда я перемещаюсь от этой страницы. По какой-то причине меня отправляют обратно на страницу входа, как если бы начальный сеанс был удален.

Если я заберу компонент на странице, который отображает данные, которые извлекает библиотека, я могу перейти от страницы, так что это определенно вызов библиотеки, которая убивает сеанс.

Есть ли у кого-нибудь идеи, почему это может случиться?

ответ

1

Исправлено. Это была глупая проблема. Библиотека создавала файл журнала в каталоге bin каждый раз, когда он что-то делал. Сеанс получает каждый раз, когда происходит изменение файла в каталоге bin, поскольку AppDomain уничтожается и перезапускается.

0

Интересно, падает ли COM-компонент и срывает ваш пул приложений (или что бы он ни называл в эти дни в ASP.NET).

Можете ли вы следить за рабочим процессом ASP.NET (его называли aspnetwp.exe) и посмотреть, исчезнет ли он при переходе на страницу с помощью COM-вызовов?

Если это так, COM-компонент, вероятно, генерирует структурированное исключение, которое завершает процесс, в результате чего состояние сеанса будет потеряно, если вы храните его в процессе на сервере.

Возможно, вы сможете получить более подробную информацию из средства просмотра событий (Start -> Run -> eventvwr), где ASP.NET регистрирует любые сбои.

Смежные вопросы