2009-06-23 5 views
2

App-Code 폴더가 어떻게 작동하는지 더 잘 이해하려고 노력하고 있으며, 특히 App-Code 폴더의 새 클래스가 현재 AppDomain에 포함 된 새로운 개체가 얼마나 궁금합니다. 두 번째, 임시 AppDomain이 CodeDom으로 새 개체를 컴파일 할 때와 같은 방식으로 생성됩니까?ASP.Net의 App_Code가 보조 임시 AppDomain에 새 코드를 컴파일합니까?

새 클래스/개체를 웹 응용 프로그램으로 옮기는 기능은 여러 가지면에서 매우 중요합니다. Rob Connery의 MVC Storefront은 좋은 예입니다. 새로운 기능을 배치하기 위해 App-code 폴더를 사용했다면 고려해야 할 트레이드 오프 나 잡다한 점이 있었습니까?

가 UPDATE :

나는이 흥미로운 구절이있는 article in CoDe Magazine을 발견 : 귀하의 응용 프로그램 별 코드가 ASPX 페이지 나 컨트롤의 인라인 갈 수

, 그것은 부분 CodeBeside 로 갈 수있다 또는 자치 클래스를 완전히 만들 수 있습니다 (APP_CODE 폴더에 있음). APP_CODE 폴더는 ASP.NET 2.0 프로젝트의 특수 폴더이며 웹 프로젝트의 비 페이지 또는 컨트롤 관련 소스 코드는이 폴더로 이동해야합니다. ASP.NET은 APP_CODE 의 내용을 라이브러리 프로젝트와 같이 처리하고 콘텐츠를 별도의 어셈블리로 컴파일합니다 ( ). 이 어셈블리는 ASP.NET에서 에서 생성하는 모든 페이지 또는 디렉터리 수준 어셈블리에서 참조 번호가 이고 APP_CODE에 정의 된 클래스 중 하나를 사용하는 ASPX/ASCX 페이지로 참조됩니다.

제 질문은 여전히 ​​유효합니다.이 라이브러리를 지원하는 두 번째 AppDomain이 있습니까? 그렇다면 성능에 미치는 영향은 최소화됩니까?

답변

2

세부 사항을 모르겠지만 확실히 다른 동적 어셈블리에 포함됩니다. 클래스는 다른 AppDomain에있을 수 없습니다. 한 클래스의 인스턴스 만 다른 AppDomain에있을 수 있으며, 다른 AppDomain (원격을 통해서만)에 액세스하는 것은 번거롭습니다.