某项目要调用现有的100多个DLL 二 最最简单原型的思考
最最简单的原型:
假设某个类库提供了一个方法
public class UserManager
{
public Output GetUser(Input input);{...}
}
Input Onput是两个类, 分别代表了输入输出参数的格式 ,没有实现可序列化Serializable, 不能直接跨域
UserManager不是可序列化 不能用Marshal by value的方式跨域操作
UserManager没有继承MarshalByRefObject 无法通过Marshal by refrence 的方式跨域操作
这里有几个小小的技术难点
1.如何让没有实现Serializable的类,变成跨域操作所需的可以序列化的类 (下面的章节解决这个问题)
2.有没有一种简单的方式可以实现跨域的简单代码操作, 就像平常的dll直接调用一样
3.最终的实现是否可以调试
4.能否附加其他的功能,例如不需要额外编写代码,就可以开启或者关闭所有接口的日志,(方法 输入 输出 执行时间)
5.代码应该集中在framework中, 真正使用 编写业务的人应该尽可能的方便 或者是透明的