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