.Net Remoting:Serialize Object和实现

时间:2010-03-27 01:03:16

标签: .net serialization remoting

在我的场景中,有一个包含类(Task)的客户端程序集。 此类实现服务器上已知的接口(ITask)。 我正在尝试从客户端向服务器发送Task对象,而无需手动将客户端程序集复制到服务器。

如果我只是序列化任务对象,服务器显然会抱怨丢失的程序集。 然后我尝试序列化typeof(任务).Assembly但无法在服务器上对其进行驱动。 接下来,我尝试了File.ReadAllBytes(typeof(Task).Assembly.Location)并将其保存到服务器上的临时文件中,该文件在Assembly.LoadFrom上引发了异常(@“。\ temporary.dll”);

为什么我这样做? Java RMI有一个简洁的功能来请求通过远程接收接收的对象的实现,但是stil“unkown”(这个JVM没有* .class文件)。这可以用于只知道包含run()方法的“任务”的接口的计算服务器,并按需下载此方法的实现。 这样,不必为新任务更改服务器。 我正试图在.Net中实现这样的目标。

1 个答案:

答案 0 :(得分:1)

没关系,我找到了一种方法,可以使用AssemblyResolve事件并使用

直接从字节数组加载程序集。
AppDomain.CurrentDomain.Load(assemblyData);

以防有人遇到同样的问题。

相关问题