2010-01-18 3 views
2

꽤 큰 웹 응용 프로그램 프로젝트에서 작업하면서, 일부 페이지와 컨트롤을 CompilationMode = "Never" @Page 특성으로 표시하여 약간의 신선한 공기를 얻을 수 있다고 결정했습니다. 지금까지 그렇게 좋았습니다. 기대했던대로 일한 후 일어났습니다. 내가 설명하려고하는 모퉁이의 시나리오는 예기치 않게 잘 작동하도록 예기치 않게 행동했습니다. 이 시나리오는 중첩 된 마스터 페이지입니다.CompilationMode = "Never"인 ASP.NET 중첩 마스터 페이지, 재해에 대한 수신자입니까? ASP.NET의 버그?

계속하기 전에 빠른 티저. 상단에 마스터 페이지을 CompilationMode = "항상"으로 표시하고 그 아래 다른 모든 페이지는 CompilationMode = "Never"으로 표시하면 중첩 깊이가 어떻게 될 것이라고 생각하십니까? 아니, 무한하지 않거나 ASP.NET에있는 내부 번호. 그것의 . 왜? - 나도 몰라, 너 똑똑한 사람들이 나를 계몽 할 수 있기를 바래?

내가 말하는 내용을 보여주기 위해 중첩 된 5 개의 마스터 페이지가있는 프로젝트를 첨부했습니다 : Nested Master Pages Web Application Test Project.

중첩 된 마스터 페이지가 5 개있는 경우 예기치 않게 작동하는 다른 구석 경우 CompilationMode = "Always"이고 다른 모든 CompilationMode = "Never"가되도록 두 번째 중첩 된 마스터 페이지를 변경하십시오. 세 번째 마스터 페이지가 적용됩니다. 두번!

내가하고있는 일이 올바르지 않거나 문제를 확인하는 데 도움을 주시기 바랍니다.

ASP.NET 런타임 버전 : 2.0, .NET : 3.5

편집 :

부착 된이 프로젝트는 = "결코"CompilationMode에 설정된 모든 마스터 페이지가 있습니다. ASPX 페이지가 원하는대로 표시됩니다. 첫 번째 마스터 (Site.master)를 CompilationMode = "Always"로 변경하여 내가 말하는 것을 확인하십시오.

답변

2

업데이트 : 2010 년 1 월 21 일 : 좋은 소식 : 추가 조사를 통해 VS2010에서이 문제가 해결 된 것으로 나타났습니다. 수정본은 베타 2 이후에 작성되었으므로 다음 공개 빌드의 일부가 될 것입니다. 나는 정확한 날짜가 없지만 너무 멀리 떨어져서는 안됩니다.


예,이 전에오고 기억하는 것, 참으로 둥지 라 마스터 페이지와 관련된 몇 가지 시나리오 CompilationMode = 파괴되지 않는다 "마십시오."

이전 메일 스레드를 보면 특정 조합에서만 발생한다고 생각합니다. 그것은이 끊어진 것처럼 보인다 (여기서 NoCompile이 compilationMode = 결코 의미) :

  1. NoCompile 페이지/컴파일 마스터/NoCompile 마스터
  2. NoCompile 페이지/NoCompile 마스터/컴파일 마스터

을, 우리는이 문제를 해결하지 못했는데 그 이유는 수정 작업이 사소하지 않고 시나리오가 일반적이지 않기 때문입니다.

NoCompile 페이지의 경우 대부분 마스터 페이지가 아닌 끝 노드 aspx 페이지에 이점이 사용된다는 점에 유의하십시오. 일반적으로 NoCompile 페이지는 컴파일 된 페이지보다 약간 느리게 실행됩니다.그들의 이점은 처음 히트 컴파일이 없으며 메모리를 적게 사용한다는 것입니다. 또한 메모리 부족으로 완전히 언로드 할 수 있습니다. 그렇기 때문에 끝점 페이지 수가 너무 많을 때 (SharePoint에서 사용하는 경우) 좋은 평가를 얻습니다. 그러나 마스터 페이지 (대부분의 응용 프로그램은 많은 페이지에서 작은 번호 만 공유 함)에서 이러한 이점은 미미합니다. 물론 NoCompile 페이지에는 코드를 사용할 수 없으므로 일부 사용자가 사용하지 않는 주된 이유입니다.

빠른 요약은 : 맞습니다. 버그입니다! :) 그리고 권장되는 해결 방법은 마스터 페이지에 대해 CompilationMode = never를 피하는 것입니다.

+0

ASP.NET 로드맵에서이 문제를 해결할 계획이 있습니까? 우리의 유스 케이스에는 SharePoint에서와 같이 끝점으로 처리되는 많은 양의 마스터 페이지가 포함됩니다. 자세한 내용을 이메일로 보냈습니다. –