2009-05-27 77 views
-1

我知道,它可能使用隐式提供异步交互:C#.Net中异步交互的示例?

  • 异步委托
  • 异步回调

我只是想知道还有什么其他方法.NET支持异步交互?

非常感谢。

问候

编辑:

也许我没有正确地解释自己.... 我理解线程和并发PERFECTLY,我只是想的可能方式列表,以实现在.net台异步交互,除了使用异步委托或回调。

+0

我在这里看到了一些措辞不好的问题,但这需要饼干! – 2009-05-27 09:18:27

+0

这是如何复杂? 如果我问了这个问题,给我一个方法列表的方式来存储数据的便携式媒体,而不是使用CD,你会回复:USB棒,软盘等 我想要的只是一个支持列表在.Net中进行异步交互的方法.......不是火箭科学! – Goober 2009-05-27 09:37:24

回答

0

(我不知道我完全理解你的目标是什么,在你的问题,但我给它一杆)

为了允许异步在winforms应用程序中执行代码BackgroundWorker组件相当方便。我也经常使用ThreadPool.QueueUserWorkItem方法作为在自己的线程上产生方法的简单方法。

0

这可能是外面你问什么,但也有一部分消息队列支持。在.NET

+0

和一个例子是? – Svish 2009-05-27 08:59:07

0

异步操作都通过调用一个名为BeginSomething,其中Something很可能将是InvokeWriteSend或其他一些操作方法开始。

例子:

http://msdn.microsoft.com/en-us/library/system.net.sockets.socket.beginsend.aspx

你通过自己的代表在操作完成时,将被处决。然后您可以通过调用相应的方法EndSomething来获得操作结果。

实施例:

http://msdn.microsoft.com/en-us/library/system.net.sockets.socket.endsend(VS.80).aspx

的图案是通常相同而不管正在执行的操作。有些奇怪的地方,EndSomething方法被命名为不一致的东西。

更多的例子:

0

你可以基本表达式枝条或其他单子(尚未允许链接,但该术语可以发现wiki和加尔文对这个问题的伟大的博客也一样)

基本上一切,使您可以imparative编码可以用于异步实现。

你也可以谷歌继续传球。所有方法都不返回值(void)的编码风格,但是需要一个参数(一个委托类)来告诉它什么时候完成。