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

C#

 
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 
I've been testing out my EventQueue class, and I've noticed a bug:

delegateQueue.Invoke(new SendOrPostCallback(delegate(object state)
{
    List<Subscriber> subscribers = (List<Subscriber>)events[eventName];

    if(subscribers == null)
    {
        throw new InvalidOperationException("Event does not exist.");
    }
    else
    {
        subscribers.Add(new Subscriber(handler, context));
    }
}), null);


Get rid of the null that's getting passed to the annonymous method. It confuses the runtime when it starts to invoke the delegate. So it should look like this:

delegateQueue.Invoke(new SendOrPostCallback(delegate(object state)
{
    List<Subscriber> subscribers = (List<Subscriber>)events[eventName];

    if(subscribers == null)
    {
        throw new InvalidOperationException("Event does not exist.");
    }
    else
    {
        subscribers.Add(new Subscriber(handler, context));
    }
}), new object());


[EDIT]
I will have a new and improved version up later today as I test it more thoroughly.

Also, that should be "new object()" getting passed to the anonymous method.
[/EDIT]


-- modified at 11:32 Monday 26th June, 2006
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 
GeneralRe: How do you implement a message queuing system? Pin
Steve Messer27-Jun-06 6:31
Steve Messer27-Jun-06 6:31 
GeneralRe: How do you implement a message queuing system? Pin
Leslie Sanford4-Jul-06 8:56
Leslie Sanford4-Jul-06 8:56 
GeneralRe: How do you implement a message queuing system? Pin
Steve Messer4-Jul-06 9:53
Steve Messer4-Jul-06 9:53 
GeneralRe: How do you implement a message queuing system? Pin
Leslie Sanford4-Jul-06 10:15
Leslie Sanford4-Jul-06 10:15 
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 
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 

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.