Pergunta

Eu estou olhando para fazer a comunicação inter-módulo com DotNetNuke 4.8.4 - e estou querendo saber se alguém tem alguma bons exemplos de fazer isso.

Eu entendo que você implementar IModuleCommunicator no remetente, e IModuleListener no receptor - mas não vejo uma maneira de amarrá-los juntos, além de apenas soltando-os ambos na mesma página.

Será que todos os ouvintes em uma determinada página ouvir todas os remetentes em uma determinada página? Se sim, qual é a melhor prática para filtrar o ruído?

Foi útil?

Solução

Eu estava lendo sobre IMC ontem à noite em Mitchel Módulo DotNetNuke Programação livro .

Aqui estão alguns dos principais takeaways:

  1. Só funciona entre os módulos no mesma página.
  2. considerações AJAX - provavelmente não irá trabalhar com postbacks parciais
  3. Eventos levantadas são enviadas para qualquer módulo que implementa IModuleListner, então você tem que ser Certifique-se de que você está consumindo o direito coisa.

Aqui está um exemplo de envio de informações:

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);
}

Para filtrar o ruído que você gostaria de ter certeza de incluir algumas informações de identificação muito específico. Parece que você tem muitas oportunidades para fazer isso, porém quando configurar as as EventArgs para ser consumido.

Outras dicas

Eu não usei IMC pessoalmente, mas como eu o entendo, todos os ouvintes do para ouvir todos os remetentes. Os ModuleCommunicationEventArgs que é enviado para o ouvinte inclui uma propriedade Target, que eu acho que deve ser a primeira coisa que você iria verificar, ou seja, verificar se esta mensagem é para você.

Eu uso Abrir Web Studio . É uma ferramenta interessante, mas que carece de documentação robusta. Ele me permite comunicar dois módulos DotNetNuke na mesma página e informações recarregar automaticamente no segundo baseado em algo clicado no primeiro. Eu não sei se é isso que você está procurando. Se for, eu posso te dar mais algumas dicas e alguns links para tutoriais sobre como colocar essa coisa de trabalho.

OWS é livre (com suporte pago), mas como eu disse, ela não tem documentação profunda, embora você pode obter passado com um pouco de paciência e agitação.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top