某项目要调用现有的100多个DLL 二 最最简单原型的思考

时间:2021-11-08 08:08:34

最最简单的原型:

假设某个类库提供了一个方法  

  
  
  
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中, 真正使用 编写业务的人应该尽可能的方便 或者是透明的