最近要用remoting, 但我以前是用C++的, 不清楚, 向各位问几个问题
1,             binaryServerFormatterSinkProvider = new BinaryServerFormatterSinkProvider();
            binaryServerFormatterSinkProvider.TypeFilterLevel = TypeFilterLevel.Full;
            channel = new IpcChannel(properties, null, binaryServerFormatterSinkProvider);
没有用config文件, 是直接写在代码里的, 我想请问下这个TypeFilterLevel.Full属性到底有什么用? 如果我用null有问题吗?
<formatter ref="binary" />是相当于
binaryServerFormatterSinkProvider = new BinaryServerFormatterSinkProvider();
channel = new IpcChannel(properties, null, binaryServerFormatterSinkProvider);呗? 我看有些资料直接用的NULL哦, 这样是怎么序列化的?
2, 对象发布直接用的RemotingServices.Marshal(), client直接用Activator.GetObject(),没有指明是Client Activated, Single Call, Singleton,中的哪种,  但程序运行没什么问题, 那么默认是Singleton吗? 我们只是1对1的.3, 发布的是对象,不是类, 如果是一个具体的对象Single Call, Singleton这二种模式有区别吗? 还有我看一些资料发布的都是类, 如果用类发什么不直接引用DLL呢? 
说说发布对象和类的区别,谢谢刚刚学习, 有点迷糊, 可能有些地方说的不明白, 但还是请各位给解释一下, 非常感谢.

解决方案 »

  1.   

    补充一个问题, 是不是我问的太傻了? 咋一个回答的都没有?#4对于2,3的问题我基本明白了, 对于1还不了解, 因为我的程序不能DEBUG#40, 
     IpcChannel(properties,   null,   null);我不清楚, 这第二个和第三个参数的具体作用, 什么时候可以用null什么时候不可以, 希望说的详细点 
      

  2.   

    信道要求一个接收器提供程序链的头.
    通过它能够建立接收器链.
    若使用平台提供的信道,则已经有内置的接收器提供程序头了.
    如你用的那个信道的第二个参数指用户要提供的自己定义的信道发送消息时要使用的接收器提供程序链的头,为null说明你想用信道内置的,弟三个说明你想自己提供.
    就是这样,
    至于=full这是.remoting基础结构的一个要求根据实现需要可以进行其它设置.