使用C#.NET在远程系统上进行计算

时间:2012-07-27 10:51:01

标签: c# cloud

我开始创建一个小型云平台,用于学习并在以后扩展到实际使用。我正在使用C#和WCF。我的想法是拥有一个服务器和执行器系统。服务器将拥有用户提交给它的作业。执行程序系统向服务器请求作业并执行作业并将结果更新到服务器。该作业是一个C#类对象,其方法execute()将由执行程序调用。

我的问题是如何将对象及其方法(行为)切换到Executor,以便Executor执行它。通过序列化对象,只会发送数据。我想知道像Utilify这样的云框架是如何实现的。我愿意接受任何C#技术来执行远程系统上的工作,尽管我更喜欢WCF。

1 个答案:

答案 0 :(得分:0)

如果你真的想要这样做,你将不得不以某种方式将你的作业所定义的程序集的二进制表示形式传递给Executor,然后将其加载到AppDomain中来运行你的代码。

var tempDomain = AppDomain.CreateDomain(someDomain);
tempDomain.Load(myTransmittedAssemblyBytes);

请注意,您将创建一个安全漏洞的整个世界!确保您信任要加载的任何代码。

或者,为什么不让你的执行者宣传他们可以处理的工作类型,只发送他们知道如何处理的数据。