Question

Je cherche à établir une communication entre modules avec DotNetNuke 4.8.4 - et je me demande si quelqu'un en a de bons exemples.

Je comprends que vous implémentez IModuleCommunicator sur l'expéditeur et IModuleListener sur le destinataire, mais vous ne trouvez pas le moyen de les lier ensemble, à part de les déposer tous les deux sur la même page.

Est-ce que TOUS les auditeurs d'une page donnée écoutent TOUS les expéditeurs d'une page donnée? Si tel est le cas, quelle est la meilleure pratique pour filtrer le bruit?

Était-ce utile?

La solution

Je lisais juste sur IMC hier soir dans Mitchel Sellers Livre sur la programmation du module DotNetNuke .

Voici quelques-uns des principaux plats à emporter:

  1. Ne fonctionne que entre les modules de la même page.
  2. Considérations AJAX - ne fonctionnera probablement pas avec des publications partielles
  3. Les événements déclenchés sont envoyés à n'importe quel module qui implémente IModuleListner, vous devez donc être sûr que vous consommez le droit chose.

Voici un exemple d'envoi d'informations:

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

Pour filtrer le bruit, assurez-vous d'inclure des informations d'identification très spécifiques. Il semble que vous ayez beaucoup d’occasions de le faire lors de la configuration des EventArgs à consommer.

Autres conseils

Je n'ai pas utilisé IMC personnellement, mais si je comprends bien, tous les auditeurs écoutent tous les expéditeurs. Le ModuleCommunicationEventArgs qui est envoyé à l’écouteur comprend une propriété Target, ce qui, à mon avis, devrait être la première chose à vérifier, c’est-à-dire si ce message vous est destiné.

J'utilise Ouvrir Web Studio . C'est un outil intéressant, même s'il manque une documentation robuste. Cela me permet de communiquer deux modules DotNetNuke sur la même page et de recharger automatiquement les informations sur le second en fonction d'un élément cliqué sur le premier. Je ne sais pas si c'est ce que vous recherchez. Si tel est le cas, je peux vous donner quelques astuces et des liens vers des tutoriels sur la façon de mettre cette chose en pratique.

OWS est gratuit (avec une assistance payante), mais comme je l’ai dit, il manque une documentation détaillée, même si vous pouvez vous en sortir avec un peu de patience et de panique.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top