【问题标题】:Asynchronous message passing in .NET.NET 中的异步消息传递
【发布时间】:2012-03-28 12:16:59
【问题描述】:

我正在寻找一个简单的 .NET 库,它实现了类似于 Erlang OTP 平台的异步消息传递概念。到目前为止,我只发现 RetLang 有点相似,但是

  1. 好像被废弃了,而且
  2. 只支持一个进程内的消息传递。

【问题讨论】:

    标签: c# .net multithreading concurrency messaging


    【解决方案1】:

    您可以尝试使用 MSMQ。您可以将单个或一组消息放入队列中,稍后异步读取。 :)

    【讨论】:

    • 这是死技术。此时它几乎处于维护模式。请参阅下面的答案。
    【解决方案2】:

    在我看来,在 .net 中执行此操作的最简单方法(除了 F# ;))是 TPL dataflow - lib

    【讨论】:

      【解决方案3】:

      使用实现起来相当简单的 MSMQ。这正是您所需要的——异步消息系统。 WCF 也很好,但管理起来更复杂(配置文件)并增加了一些开销。 MSMQ 是一个标准(且免费)的 Windows 组件,但要使用它,您需要启用它。 MSMQ 可用于本地通信(同一个进程或同一个 Windows 域内的任意 2 个进程)

      阅读this 答案以获取更多详细信息和代码示例。

      【讨论】:

        【解决方案4】:

        Microsoft 研究开发并证明了(与 EA/Bioware 合作)一个名为 Orleans 的项目。它已用于生产并正在积极开发中。

        Quick Summary

        Intro on Pluralsight

        https://github.com/dotnet/orleans

        【讨论】:

          【解决方案5】:

          您可以使用 WCF 发送和接收异步消息。你可以在msdn阅读更多内容

          【讨论】:

            【解决方案6】:

            请查看spring messaging,这可能对您有用。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2021-07-27
              • 2011-08-27
              • 2018-07-15
              • 2018-12-16
              • 2014-05-16
              • 2014-04-01
              • 2011-10-21
              相关资源
              最近更新 更多