Click here to Skip to main content
15,915,093 members
Home / Discussions / C#
   

C#

 
QuestionHow do you implement a message queuing system? Pin
Steve Messer24-Jun-06 10:25
Steve Messer24-Jun-06 10:25 
AnswerRe: How do you implement a message queuing system? Pin
Ed.Poore24-Jun-06 12:56
Ed.Poore24-Jun-06 12:56 
GeneralRe: How do you implement a message queuing system? Pin
Steve Messer24-Jun-06 15:00
Steve Messer24-Jun-06 15:00 
GeneralRe: How do you implement a message queuing system? Pin
Leslie Sanford24-Jun-06 19:55
Leslie Sanford24-Jun-06 19:55 
GeneralRe: How do you implement a message queuing system? [modified] Pin
Steve Messer24-Jun-06 20:15
Steve Messer24-Jun-06 20:15 
GeneralRe: How do you implement a message queuing system? Pin
Leslie Sanford24-Jun-06 21:11
Leslie Sanford24-Jun-06 21:11 
GeneralRe: How do you implement a message queuing system? Pin
Steve Messer25-Jun-06 3:47
Steve Messer25-Jun-06 3:47 
GeneralRe: How do you implement a message queuing system? Pin
Leslie Sanford25-Jun-06 5:35
Leslie Sanford25-Jun-06 5:35 
smesser wrote:
The system object will be running in the main application thread, which will load all the plugins.
Also, I am a C++ coder semi-recently moved to C# so marshalling is still confusing to me.


Marshaling just means that you take an event that happened on one thread and handle it on another thread.

I'm not familiar with WinFx, so I can't comment on it specifically. Are you familiar with C# events?

One possibility is for the plugins to implement events. When something interesting happens to a plugin, it raises an event. The system object could subscribe to these events and respond to them accordingly. That takes care of the communication that takes place from the plugin to the system object. To go from the system to the plugin, the system could keep track of the plugins and simply call a method on them when it needs to tell a plugin something important.

Since I'm not familiar with WinFx, I'm not really sure how you would do this, but if you have a main window, you could use it's message pump for handling the messages. With Windows Forms, you use the Invoke and BeginInvoke methods. So since your system object runs on your application thread, you could think of the Window itself as being this system object, the object that receives messages from your plugins.

Well, I hope some of this is helpful. Plugins are a bit of a mystery to me here, so I'm kind of guessing in giving you advice.
GeneralRe: How do you implement a message queuing system? Pin
Steve Messer25-Jun-06 5:54
Steve Messer25-Jun-06 5:54 
GeneralRe: How do you implement a message queuing system? Pin
Leslie Sanford25-Jun-06 6:27
Leslie Sanford25-Jun-06 6:27 
GeneralRe: How do you implement a message queuing system? Pin
Steve Messer25-Jun-06 7:46
Steve Messer25-Jun-06 7:46 
GeneralRe: How do you implement a message queuing system? Pin
Leslie Sanford25-Jun-06 8:24
Leslie Sanford25-Jun-06 8:24 
GeneralRe: How do you implement a message queuing system? Pin
Steve Messer25-Jun-06 8:56
Steve Messer25-Jun-06 8:56 
GeneralRe: How do you implement a message queuing system? Pin
Leslie Sanford25-Jun-06 9:16
Leslie Sanford25-Jun-06 9:16 
GeneralRe: How do you implement a message queuing system? Pin
Steve Messer25-Jun-06 12:35
Steve Messer25-Jun-06 12:35 
GeneralRe: How do you implement a message queuing system? Pin
Leslie Sanford25-Jun-06 13:20
Leslie Sanford25-Jun-06 13:20 
GeneralRe: How do you implement a message queuing system? Pin
Steve Messer25-Jun-06 13:37
Steve Messer25-Jun-06 13:37 
GeneralRe: How do you implement a message queuing system? Pin
Leslie Sanford25-Jun-06 13:48
Leslie Sanford25-Jun-06 13:48 
GeneralRe: How do you implement a message queuing system? Pin
Steve Messer25-Jun-06 14:20
Steve Messer25-Jun-06 14:20 
GeneralRe: How do you implement a message queuing system? Pin
Leslie Sanford25-Jun-06 15:17
Leslie Sanford25-Jun-06 15:17 
GeneralRe: How do you implement a message queuing system? Pin
Steve Messer25-Jun-06 18:08
Steve Messer25-Jun-06 18:08 
GeneralRe: How do you implement a message queuing system? [modified] Pin
Leslie Sanford26-Jun-06 5:18
Leslie Sanford26-Jun-06 5:18 
GeneralRe: How do you implement a message queuing system? Pin
Steve Messer26-Jun-06 7:22
Steve Messer26-Jun-06 7:22 
GeneralRe: How do you implement a message queuing system? [modified] Pin
Steve Messer4-Jul-06 8:44
Steve Messer4-Jul-06 8:44 
AnswerRe: How do you implement a message queuing system? Pin
Leslie Sanford27-Jun-06 6:08
Leslie Sanford27-Jun-06 6:08 

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.