2009-03-13 4 views
2

DotNetNuke 4.8.4와 모듈 간 통신을하고 있습니다. 누구든지이 작업을 수행하는 좋은 사례가 있는지 궁금합니다.DotNetNuke 모듈 간 통신

송신자에 IModuleCommunicator를 구현하고 수신자에 IModuleListener를 구현하는 것을 이해합니다. 그러나 같은 페이지에 둘 다 함께 놓을뿐만 아니라 함께 묶을 방법은 없습니다.

주어진 페이지의 모든 수신자가 주어진 페이지의 모든 발신자를 청취합니까? 그렇다면 소음을 필터링하는 가장 좋은 방법은 무엇입니까?

답변

3

나는 어젯밤 IMC에서 Mitchel SellersDotNetNuke Module Programming으로 책을 읽었습니다.

  1. 가 만 같은 페이지에 모듈 사이에 작동합니다

    다음은 주요 테이크 아웃의 일부입니다.

  2. AJAX 고려 사항 - 아마 부분 포스트 백 에 당신은 당신이 바로 일을 소모하고 있는지 확인 해야하므로, IModuleListner을 구현하는 모듈을 전송 제기
  3. 이벤트 작동하지 않습니다.

    if (ModuleCommunication != null) 
    { 
    var args = new ModuleCommunicationEventArgs(); 
    args.Sender = "Something"; 
    args.Target = "Something Else"; 
    args.Text = "Something"; 
    args.Type = "Something"; 
    args.Value = new Object(); 
    ModuleCommunication(this, args); 
    } 
    

    당신이 매우 특정 식별 정보를 포함해야합니다 싶어 노이즈를 필터링하려면 : 여기

는 전송 정보의 예입니다. EventArgs를 사용할 때 설정해야 할 충분한 기회가있는 것 같습니다.

+0

im은 ModuleCommunication에서 null 값을 얻습니다. 무엇이 문제입니까? – ranjenanil

0

나는 개인적으로 IMC를 사용하지 않았지만, 나는 그것을 이해하므로 모든 청취자는 을 수행한다.은 모든 보낸 사람의 말을 듣는다. Listener로 보내지는 ModuleCommunicationEventArgs에는 Target 속성이 포함되어 있습니다.이 속성은 내가 확인해야 할 첫 번째 것으로 생각됩니다. 즉이 메시지가 나와 맞는지 확인합니다.

+0

모듈간에 의사 소통하는 데 다른 방법을 사용하고 있습니까, 아니면 필요가 없습니까? 내가 다른 것을 봐야할까요, 아마도 이것을 할 수있는 더 좋은 방법일까요? –

+0

그래, 나는 그것을 사용한 적이 없다. 나는 우리가 스스로 포함 된 모듈을 가지고 있다고 가정한다. 우리가 모듈들 사이에서 수행하는 모든 의사 소통은 아마도 쿼리 문자열에서 일어날 것입니다. – bdukes

0

나는 Open Web Studio을 사용합니다. 그것은 강력한 문서가 부족하지만 흥미로운 도구입니다. 그것은 내가 같은 페이지에서 두 개의 DotNetNuke 모듈을 통신 할 수있게 해주 며 첫 번째 클릭 한 것을 기반으로 두 번째 DotNetNuke 모듈에 대한 정보를 자동으로 다시로드합니다. 이것이 당신이 찾고있는 것인지 모르겠습니다. 그렇다면이 기사를 작동시키는 방법에 대한 팁과 자습서 링크를 제공 할 수 있습니다.

OWS는 무료 (유료 지원)이지만 약간의 인내와 소동으로 과거를 얻을 수는 있지만 깊은 문서가 부족합니다.