2011-12-05 75 views
0

我在WCF环境中使用发布订阅模式。使用反射调用方法列表

当我要发布从酒馆\子服务的消息给用户

我正在使用反射这样做。

我使用foreach逐个调用方法。

我该如何做这个操作异步?

感谢

+0

为什么要反射?发表你的代码...此外,请检查这个http://stackoverflow.com/questions/8383439/invoke-list-of-methods-by-using-reflection –

+0

我使用管道绑定,我想邮政不工作那。我错了吗?现在我正在使用Parallel.ForEach。 – Guy

+0

你能分享你的代码吗? –

回答

0

如果你想异步运行的每一个方法调用,并不在乎你可以旋上一个新的线程池线程他们中的每一个,例如使用System.Threading.ThreadPool.QueueUserWorkItem(WaitCallback)返回值。

如果您处于更高级的场景中,您可以使用TPL(任务并行库),Rx.NET(反应式扩展)以及其他更具结构化和有效的方法来执行此操作。

+0

我正在使用Parallel.ForEach(),你有更好的解决方案吗?也许不使用反射? – Guy

+0

对于我的回答意图,“Parallel.ForEach”以相同的方式工作。但是,它与您如何调用方法无关,无论是使用反射还是其他动态技术。这是你真的在问吗?如何动态调用方法? – lbergnehr