views:

96

answers:

1

Hello all,

I've been researching for a couple days on and off, and have yet to figure out the best way to achieve the following goal.

I would like to define either an interface or abstract class in C# which has an associated Run method, similar to the Java runnable interface. The goal would be to have a shared queue which contains a list of these objects. Then individual clients would be able to derive their own concrete runnable classes and add them to the queue hosted by the server. Clients would also be able to pop these runnable objects off the queue and execute them arbitrarily.

This seems like it should be feasible in a VM based language without needing to place any of the concrete implementations in a shared assembly, but I have thus far had no luck finding a working example of such a system.

Does anyone know how this might be achieved?

A: 

You might want to check out the Agatha project. It provides a simple request/response layer for WCF. As far as adding new "Run" implementations, you would use an IoC container or MEF to register new endpoints.

Eric Hauser
Thanks for pointing me towards MEF. Very useful framework for plugin extensions.
Eric