2009-09-10 3 views
0

.NET Framework 버전 1.1을 사용하는 asp.net 사이트가 있습니다. 때로는 사이트가 개체 null 오류로 인해 충돌을 시작하고 .NET 버전을 2.0으로보고하는 오류 화면이 나타납니다. 사이트 응용 프로그램 풀을 재활용하면 1 ~ 2 주 후에 다시 사이트가 중단 될 때까지 사이트가 다시 정상적으로 실행됩니다. .NET 버전을 2.0으로 수동으로 변경하면 동일한 개체 Null 오류가 발생합니다.ASP.NET 사이트 간헐적으로 잘못된 프레임 워크 버전을로드합니다.

누구나 이와 같은 문제가 발생했거나 해결 방법을 알고 있습니까?

+2

당신의 AppPool을 하나 이상의 응용 프로그램에서 공유를? –

+0

아니요, 더 이상 없습니다. 원래 여러 개의 1.x 응용 프로그램에 대해 하나의 AppPool이 있지만이 문제가 발생하면 다른 모든 응용 프로그램도 중단됩니다. 나는 그것을 분쇄하기 위해 자체 AppPool로 충돌하는 앱을 옮겼다. – Joe

답변

1

흠 -이 요청이 비 밝혀졌다 - 스콧 Hanselman은이 비슷한 문제를 가지고 있었다 응용 프로그램이 IIS에서 시간 초과되어 언로드 된 후에 만들어진 .NET 리소스가 2.0 모드에서 시작될 수 있습니다.

의 Web.config에 <supportedRuntime> element 문제 해결 추가 :

<configuration> 
    <startup> 
    <supportedRuntime version="v1.1.4322"/> 
    </startup> 
</configuration> 
+0

이것은 좋은 소리지만, 나는 그것을 시도 할 것이다. – Joe

0

앤드류 헤어 (Andrew Hare)와 마찬가지로 댓글에서 앱 풀은 2.0 앱과 공유 될 수 있습니다. 또 다른 옵션은 web.config에 2.0 dll에 대한 참조가 있고 앱이 충돌 할 때 충돌하는 것입니다.

0

Andrew의 질문에 따르면 응용 프로그램 풀을 공유하지만 프레임 워크의 다른 버전에서 실행되는 별도의 프로그램간에 충돌이있을 수 있습니다.

응용 프로그램 풀 자체에는 실행할 컴파일러/.net 프레임 워크 버전에 대한 설정이 없습니다. 이 설정은 응용 프로그램 풀에서 실행중인 응용 프로그램의 컴파일러 탭에서 설정되며 각 풀에서 하나의 프레임 워크 만 실행될 수 있습니다.

이것이 사실이라면 타이밍에 관한 것입니다. 응용 프로그램 풀이 자체에서 사용되는 프레임 워크를 구동하지 않으므로 응용 프로그램 풀에서 사용됩니다. 풀이 하나의 프레임 워크 만 실행할 수 있기 때문에 응용 프로그램 풀을 시작하는 첫 번째 응용 프로그램은 .net 프레임 워크에서 전체 풀이 실행되는 대상을 설정합니다.

풀이 2.0 응용 프로그램에 의해로드되거나 시작되면 1.1이 충돌합니다. 그런 다음 풀을 중지하고 다시 시작해야하며 풀이 1.1 프레임 워크와 함께 실행되게하는 1.1 응용 프로그램을 즉시로드합니다.

이 충돌을 해결하려면 별도의 응용 프로그램 풀을 만들고 풀에 응용 프로그램을 할당 할 수 있습니다.

또한 응용 프로그램의 컴파일러 탭이 올바르게 설정되어 있는지, 응용 프로그램이 올바른 응용 프로그램 풀에 있는지 확인해야합니다.

예를 들어 때로는 잘못 설정하여 혼란을 야기했습니다. 1.1 인 응용 프로그램이 있는지 확인하지만 IIS에서 컴파일러 탭이 2.0으로 설정되어 있는지 확인하십시오. 그 응용 프로그램이 풀을로드하는 첫 번째 경우 1.1 코드가 모두 2.0 프레임 워크와 호환되는 경우 해당 응용 프로그램에 대한 오류가 발생하지 않을 수도 있습니다 (그리고 적어도 내 경험에서 이것은 확실히 가능합니다) 확실히 문제가 발생할 수 있습니다.

다른 애플 리케이션 실수로 실패 응용 프로그램과 함께 수영장에 넣어 경우 또는 참조

....

+0

수영장에 하나의 앱만 있기 때문에 이것이 내 문제라고 생각하지 않지만, 그럼에도 불구하고 좋은 충고입니다. 그럼에도 불구하고 평판이 좋으면 투표 해 드리겠습니다. – Joe

+0

평판을 말하고 나에게 한 가지만 가르쳐주세요. :) 우리 서버에 여러 1.1 및 2.0 응용 프로그램과 응용 프로그램 풀이 떠 다니기 때문에 나는 우리 팀을 위해 약간의 설명서를 썼습니다. :) – klabranche

관련 문제