C# · 12月 29, 2021

c# – 排队方法调用 – 任何想法怎么样?

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

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

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

任何人都知道拦截方法调用的方法?有一些方法来利用TransparentProxy / Virtual Proxy? ;)ServicedComponent?我希望这样尽可能少的开销;)

解决方法 如何使用羊排?

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

while (!queue.Empty) { Action action = queue.Pop(); action(); // this calls your action}

您可以简单地添加操作:

Queue.Add( ()=>{ /* any code you wish here */})

这只是一个提示,我不知道是否有一些Queue类,但是自己创建一个(和threadsafe!)应该是相当直接的.

解决方法可能(应该)更明智,但主要的是在那里.如果你想咨询,给我写信

Pz,TaskConnect开发人员