Click here to Skip to main content
15,920,030 members
Home / Discussions / C#
   

C#

 
GeneralRe: How do you implement a message queuing system? [modified] Pin
Steve Messer4-Jul-06 11:07
Steve Messer4-Jul-06 11:07 
GeneralRe: How do you implement a message queuing system? Pin
Leslie Sanford4-Jul-06 11:09
Leslie Sanford4-Jul-06 11:09 
GeneralRe: How do you implement a message queuing system? Pin
Steve Messer4-Jul-06 11:18
Steve Messer4-Jul-06 11:18 
GeneralRe: How do you implement a message queuing system? Pin
Leslie Sanford4-Jul-06 11:31
Leslie Sanford4-Jul-06 11:31 
GeneralRe: How do you implement a message queuing system? Pin
Steve Messer4-Jul-06 11:42
Steve Messer4-Jul-06 11:42 
GeneralRe: How do you implement a message queuing system? Pin
Leslie Sanford4-Jul-06 11:58
Leslie Sanford4-Jul-06 11:58 
GeneralRe: How do you implement a message queuing system? Pin
Steve Messer4-Jul-06 12:38
Steve Messer4-Jul-06 12:38 
GeneralRe: How do you implement a message queuing system? Pin
Leslie Sanford4-Jul-06 12:57
Leslie Sanford4-Jul-06 12:57 
smesser wrote:
5. Close, the plugin would get a the message from the System/EventQueue and either ignore it,
respond to it by using the system object to create a new message and then sending that new
message. The plugin's OnMessage function would return true if the message was consumed.
You wouldn't resend a message sent via the OnMessage function but create a new one if a
response it warranted.


So you could have something like this in a plugin?

public bool OnMessage(ISystem system, IMessage message)
{
    // Do something with message.
    if(message...)
    {
    }

    // Send a message to system and other plugins:
    IMessage msg = system.NewMessage("Completed");

    msg.Send();

    return true;    
}


One thing you may want to consider is to use the System class as a wrapper around the EventQueue class. So instead of using message objects, a plugin would call a method on the system object itself. So...

public bool OnMessage(ISystem system, IMessage message)
{
    // Do something with message.
    if(message...)
    {
    }

    // Send a message to system and other plugins:
    system.Send("Completed", this, someData);

    return true;    
}


One thing that I think needs clearing up is the event handlers in the plugins. If a plugin sends an event to the other plugins, would you require those events to be handled in the OnMessage method, or would you have other methods for handling events from other plugins?

I'm trying to find out if a plugin distinquishes between events sent from the System and from other plugins.
GeneralRe: How do you implement a message queuing system? Pin
Steve Messer4-Jul-06 13:23
Steve Messer4-Jul-06 13:23 
GeneralRe: How do you implement a message queuing system? Pin
Leslie Sanford4-Jul-06 19:22
Leslie Sanford4-Jul-06 19:22 
GeneralRe: How do you implement a message queuing system? Pin
Steve Messer4-Jul-06 19:35
Steve Messer4-Jul-06 19:35 
QuestionaxMaskedEdit Control Register error [modified] Pin
freshonlineMax24-Jun-06 10:02
freshonlineMax24-Jun-06 10:02 
QuestionC# Error: The object is currently in use elsewhere. Pin
Marco Delgado24-Jun-06 4:36
Marco Delgado24-Jun-06 4:36 
AnswerRe: C# Error: The object is currently in use elsewhere. Pin
mav.northwind24-Jun-06 10:14
mav.northwind24-Jun-06 10:14 
QuestionPassing variables from C # to a COM object written in C++ Pin
Dave_Roach24-Jun-06 3:31
Dave_Roach24-Jun-06 3:31 
AnswerRe: Passing variables from C # to a COM object written in C++ Pin
Rob Graham24-Jun-06 6:35
Rob Graham24-Jun-06 6:35 
QuestionGetting the memory footprint of objects - sizeOf Pin
srev24-Jun-06 3:05
srev24-Jun-06 3:05 
AnswerRe: Getting the memory footprint of objects - sizeOf Pin
Guffa24-Jun-06 5:33
Guffa24-Jun-06 5:33 
AnswerRe: Getting the memory footprint of objects - sizeOf Pin
Jun Du24-Jun-06 6:04
Jun Du24-Jun-06 6:04 
Questionsql script execuation Pin
_tasleem24-Jun-06 2:59
_tasleem24-Jun-06 2:59 
AnswerRe: sql script execuation Pin
Tamimi - Code24-Jun-06 3:16
Tamimi - Code24-Jun-06 3:16 
GeneralRe: sql script execuation Pin
_tasleem24-Jun-06 3:41
_tasleem24-Jun-06 3:41 
GeneralRe: sql script execuation Pin
Tamimi - Code24-Jun-06 3:47
Tamimi - Code24-Jun-06 3:47 
AnswerRe: sql script execuation Pin
Michael P Butler24-Jun-06 7:05
Michael P Butler24-Jun-06 7:05 
AnswerRe: sql script execuation Pin
Colin Angus Mackay24-Jun-06 10:46
Colin Angus Mackay24-Jun-06 10:46 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.