2010-12-09 3 views
1

COM DLL을 사용하는 ASP.NET 프로젝트가 있습니다. 사이트를로드 할 때 문제없이 로그인하고 COM 라이브러리를 사용하는 페이지로 이동하지 않는 한 사이트를 잘 탐색 할 수 있습니다.ASP.NET에서 타사 COM DLL 사용

COM 라이브러리를 사용하여 데이터베이스에서 데이터를 가져 오는 페이지로 이동하면 페이지가 제대로로드됩니다. 문제는 내가이 페이지에서 벗어날 때 온다. 어떤 이유로 초기 세션이 삭제 된 것처럼 로그인 페이지로 다시 전송됩니다.

라이브러리가 검색하는 데이터를 표시하는 페이지에서 구성 요소를 제거하면 해당 페이지에서 벗어날 수 있으므로 확실히 세션을 종료하는 라이브러리 호출입니다.

왜 이런 일이 일어날 지 아무도 모르는 사람이 있습니까 ??

답변

1

수정 됨. 어리석은 문제였습니다. 라이브러리는 무언가를 할 때마다 bin 디렉토리에 로그 파일을 만들었습니다. AppDomain이 손상되어 재시작되기 때문에 세션은 bin 디렉토리의 파일에 변경 사항이있을 때마다 삭제됩니다.

0

COM 구성 요소가 응용 프로그램 풀 (또는 ASP.NET에서 최근에 호출 된 것이 무엇이든)을 손상시키고 찢어 버리는 지 궁금합니다.

ASP.NET 작업자 프로세스 (aspnetwp.exe라고도 함)를 주시하고 COM 호출이있는 페이지로 이동할 때 사라지는 지 확인할 수 있습니까?

그렇다면 COM 구성 요소는 구조적 예외를 throw하여 프로세스를 종료시키고 서버에서 프로세스 상태를 저장하는 경우 세션 상태가 손실 될 수 있습니다.

ASP.NET에서 충돌을 기록하는 이벤트 뷰어 (시작 -> 실행 -> eventvwr)에서 더 많은 정보를 수집 할 수 있습니다.

관련 문제