【问题标题】:Send a class, not just a class interface, between servers?在服务器之间发送一个类,而不仅仅是一个类接口?
【发布时间】:2009-09-15 13:44:11
【问题描述】:
我正在创建一个网格应用程序,它要求我将包装类的软件数据包发送到我网格中的参与节点。
我想到的第一个想法是让主节点联系每个节点(运行 Windows 服务)并发送一个程序集,其中包含一个遵循公共接口的类以及一个包含配置的 .config 文件信息。
有没有更好的方法来做到这一点?除了关于这应该是推动还是拉动的讨论之外,获得有效软件更新的最佳方式是什么?如果我可以使用类似于客户端节点调用的 WCF 服务的东西,那就太好了,但当然,这会将真正的处理留在主节点上,这将有效地取消集群。
【问题讨论】:
标签:
c#
cluster-computing
remoting
updates
grid-computing
【解决方案1】:
您可以发送程序集字节并将它们直接加载到运行时。它适用于托管代码。我不知道有更好的方法来做到这一点。是的,使用推送模型:)
【解决方案2】:
这似乎是一种有效的方法。这基本上是大多数 .NET 插件模型的工作方式。
我能想到的唯一其他方法是来回发送脚本文件。您可以制作自己的自定义 DSL,但我认为那将是矫枉过正。使用 Iron Ruby 或 Iron Python 之类的东西会更简单,也更强大。另一个想法是发送 PowerShell 脚本。
我从未尝试过,但也可以来回发送 C# 或 VB 文件,然后在需要运行时编译它们。但是,与前两个建议相比,我认为这没有什么优势。