2013-02-01 1 views
4

전 직원이 DictionaryBase를 상속하고 ILogicalThreadAffinitive를 구현하는 사용자 정의 VB.Net Context 클래스를 구현했습니다. 클래스 객체는 .NET Framework를 사용하는 ASP.NET 웹 응용 프로그램에서 사용자 세션 전체에서 사용자 ID, 언어, 위치 등과 같은 값을 유지합니다.사용자 정의 ILogicalThreadAffinitive 클래스 객체가 포스트 백에서 null입니다.

개체 클래스는 팝업 페이지를로드 할 때도 페이지 사이를 탐색 할 때 예상대로 값을 유지하면서 정상적으로 작동하는 것 같습니다. 내 문제는 PostBack 작업이있을 때 발생합니다. 이 경우 객체는 null이되어 null 참조 오류가 발생합니다.

이상한 부분은 나를 제외한 모든 사람들에게 효과가 있다는 것입니다. 클라이언트 시스템에 설치되어 테스트 환경에서 실행되고 프로젝트의 다른 개발자와도 작동하지만 로컬 IIS 7.0 웹 서버로 응용 프로그램을 호스팅하는 개발 환경에서 작동하지 못하도록하는 무언가가 있습니다. 다른 개발자와 저는 로컬 IIS 설정, VS2010 설정 및 인터넷 옵션을 모두 변경했는데 두 시스템간에 모두 동일하게 나타납니다 (Win7 x64와 x86 모드에서 응용 프로그램 빌드) . 말할 필요도없이,이 문제는 개발 및 문제 해결에 매우 금지되어 있습니다.

그런 동작을 일으킬 수있는 다른 사항을 확인할 수있는 방법이 있습니까?

EDIT : 좀 더 자세히 파고 들자면, 포스트 백이 두 번째 스레드에서 실행 요청을 일으킨 것으로 보입니다. 이 두 번째 스레드는 문서가 말하는 것처럼 보이지만 CallContext의 값을 전달하지 않습니다. 내 동료 작업 환경에서이 요청은 동일한 스레드에서 처리됩니다. 이것은 문제의 주요 증상 인 것처럼 보이지만 소스를 정확히 찾아 낼 수는 없습니다. 또한 참고로, 내 컴퓨터에는 SSD가 있고 다른 개발자에게는 SSD가 없습니다. 그게 스레딩에 영향을 주는지 모르겠지만,이 결과가 나오지 않을 것이라고 생각합니다.

답변

0

저는 솔루션에 만족하지는 않지만 ASP.NET v4 클래식 응용 프로그램 풀로 전환하면 오류없이 프로그램을 실행할 수있었습니다. 앞서 언급했듯이 동료의 컴퓨터는 통합 응용 프로그램 풀을 사용하여 프로그램을 올바르게 실행합니다. 그러나 내 컴퓨터에서는 스레딩 문제가 발생합니다.

그럼 만족스러운 "답변"자체는 아닙니다. 그럼에도 불구하고 나는 해결책을 가지고있다.

관련 문제