2009-12-16 4 views
2

계층 적 데이터를 표시하는 부분 뷰 재귀 호출이있는 MVC 뷰가 있습니다.Cassini MVC RenderPartial에 대한 IIS보다 훨씬 느림

전체 트리는 일반적으로 500 개 정도의 항목을 포함합니다.

데이터는 모두 모델에 포함되어 있으며 모델은 간단한 레코드 클래스입니다. 자동 속성을 제외하고는 아무 것도 없습니다.

IIS에서 제대로 작동합니다.

그러나 Cassini/WebDev (Visual Studio에 내장 된 웹 서버)에서이 페이지는 고통스럽게 느리게 실행되어 종종 시간 초과됩니다.

작은 파고는 Html.RenderPartial을 호출 할 때마다 약 200ms (또는 1/5 초)가 소요됨을 보여줍니다. 실제 부분보기는 1 밀리 초 정도 걸릴 것 같습니다.

누구나 이것이 왜 그렇게 느린 지 알 수 있습니까?

IIS와 카시니가 다른 이유는 무엇입니까? IIS 응용 프로그램은 내 개발 디렉토리에 있습니다. 그들은 정확히 동일한 코드, 빌드 및 구성을 실행하고 있습니다.

답변

3

이것은 뷰 해결 경로의 캐싱과 관련이있을 수 있다고 생각합니다. The article here은 내가 언급 한 문제를 설명합니다.

댄에게,

RenderPartial("~/Views/MyView.ascx") 

친절

+1

감사 (+1)이이 문제를 해결하지만, 아무튼 :

는 같은 뷰의 전체 경로를 전달하면 같은 동작을 확인할 수 있나요 왜 그런지 설명하지 못한다. 두 서비스 모두 똑같은 web.config와 똑같은 코드 (디버그 빌드)를 실행하고 있습니다 - 왜 캐시를 무시하겠습니까? – Keith

+0

이것은 서버 중 하나에서 Debug = true이고 다른 서버에서는 = false이기 때문에 가능합니다. – Gregory

관련 문제