排队方法调用 - 任何想法如何?

12 c# transparentproxy

我写了一个非常不同步的应用程序.

我正在寻找一种排队方法调用的方法,类似于BeginInvoke/EndInvoke所做的....但是在我的OWN队列上.reaqson是我使用线程池拥有自己的优化消息排队系统,但同时确保每个组件在请求中都是单线程的(即一个线程只处理组件的消息).

我有很多消息来回传递.对于有限的使用,我真的很想能够只使用参数对消息调用进行排队,而不是必须定义我自己的参数,方法包装/解包只是为了进行大量的管理调用.我也不总是想绕过队列,我绝对不希望发送服务等待其他服务响应.

有人知道拦截方法调用的方法吗?为此利用TransparentProxy/Virtual Proxy的一些方法?;)ServicedComponent?我希望这个开销尽可能小;)

Pz.*_*Pz. 13

如何使用lambdas?

我的意思是,你为什么不创建一些队列,并以类似的方式处理它们

while (!queue.Empty) 
{
    Action action = queue.Pop();
    action(); // this calls your action
}
Run Code Online (Sandbox Code Playgroud)

您可以非常简单地添加操作:

Queue.Add( ()=>{  /* any code you wish here */})
Run Code Online (Sandbox Code Playgroud)

这只是一个提示,我不确定是否有一些Queue类,但是自己创建一个(和线程安全!)应该非常简单.

解决方法可以(而且应该)更明智,但重点是存在.如果您想咨询,请写信给我.

Pz,TaskConnect开发人员