문제

ASP.NET MVC를 위해 새로 눈을 뜨기 시작했지만 현재 작업중 인 사이트에서 DotNetNuke를 사용하고 있으며 실제로 새로운 "모듈"을 만들고 사이트에 연결할 수있는 방법이 마음에 듭니다. 편안함 (모듈이 바로 코딩 된 경우).

ASP.NET MVC 패턴을 사용할 때이를 달성 할 수 있습니까? 동료가 디자이너가 많은 또는 코드-홀드 상호 작용없이 사이트에 연결할 수있는 새로운 .dll을 만들었습니까?

도움이 되었습니까?

해결책

왜 안 돼?

이것은와 매우 유사 할 것입니다 "제공자 패턴" 전체 .NET 프레임 워크에 걸쳐 사용됩니다. .NET Framework의 모듈의 경우 소스 코드를 터치하지 않고 다른 공급자를 동적으로로드 할 수 있으므로 XML 구성 파일에서 모두 수행해야합니다.

실제로, 당신은 모든 모듈이 이것으로부터 상속되는 Moduleprovider Base 클래스를 만듭니다. 마스터 컨트롤러에서는 다른 모듈로드로드를로드하여 나머지를 할 수 있습니다.

공급자 패턴이 무엇인지, 디자인이 어떻게되는지 설명하는 것은 긴 구절 일 것입니다. 위의 링크를 읽고 프레임 워크에 사용 된 제공자를 연구하십시오.

다른 팁

Andrew Nurse (DNN의 선임 개발자 인 Charles Nurse의 아들)는 ASP.NET MVC에서 Pluggable DNN 유사 기능을위한 기본 프레임 워크를 시작했습니다. 매버릭, 그것은 당신에게 흥미로울 수 있습니다.

당신은 몇 가지 필수 사항을 놓칠 것입니다. MVC에 대해 별도의 DLL에 재사용 가능한 코드를 가질 수는 있지만 컨트롤 사용 (일명 모듈)이 제한되어 있기 때문에 유용한 구현을 갖기가 어렵습니다. Oldschool ASP.Net은 이러한 종류의 응용 프로그램에 훨씬 더 좋습니다.

이벤트

컨트롤이있는 경우 종종 이벤트를 받거나 이벤트를 보내려면 필요합니다. ASP.NET WebForms에서만 가능합니다.

속성

컨트롤의 컨테이너에서는 종종 공개 속성을 설정해야합니다. 또한 ASP.NET WebForms입니다.

ViewState를 언급 했습니까? 나는 ...

나는 당신을 ASP.NET MVC에서 멀어지고 싶지 않습니다. 그것은 정말 좋은 프레임 워크이지만, 나는 그것을 응용 프로그램과 같은 dotnetnuke에서 보지 못합니다.

이 블로그 항목을 확인하십시오 http://blogs.msdn.com/hammett/.

기본 앱 BIN 디렉토리에서 DLL을 삭제하여 DLL에 .aspx 및 .ascx 페이지를 포함시키는 방법을 보여 주면 기능이 추가됩니다. 라우팅 및 탐색. MEF를 사용하지만 약간의 작업 없이는 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top