Использование сторонних COM dll в ASP.NET - PullRequest
1 голос
/ 09 декабря 2010

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

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

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

Кто-нибудь знает, почему это может произойти ??

Ответы [ 2 ]

1 голос
/ 10 декабря 2010

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

0 голосов
/ 10 декабря 2010

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...