DotNetNuke Inter-Module Communication (IMC) uses VB.NET or C# to pass information between modules.
As general as the term “Inter-Module Communication” (IMC) may sound, when DNN module developers use the term IMC they are specifically referring to the facility within the DNN framework which allows you to use VB.Net or C# in your code-behind in order to pass information between modules. IMC communication always occurs somewhere within the ASP.Net page life cycle. Therefore this method of passing data between modules requires exactly one execution of the page life cycle. If user interaction is required to trigger the communication, then a post-back will need to occur from the browser to trigger the page life cycle in which the IMC will take place.
How IMC Works IMC functionality is divided into two parts: Communicating (sending messages) and Listening (receiving messages). In order to add one or both of these functionalities to a modules, you must have the module class implement the respective IMC interfaces which the DNN Framework has defined for you.
The IModuleCommunicator and IModuleListener Interfaces Both IModuleCommunicator and IModuleListener live inside the DotNetNuke.Entities.Modules.Communications namespace, so you may find it convenient to reference these namespaces at the top of your code.