OracleCommand为什么不能作为Remoting远程对象的参数传递 OracleCommand 继承自 DBCommand, 它继承自MarshalByRefObject, 为什么OracleCommand在作为参数传递的时候却报错? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 作为参数需要支持序列化作为远程对象是用的意思是应用程序域是一个操作系统进程中一个或多个应用程序所驻留的分区。同一应用程序域中的对象直接通信。不同应用程序域中的对象的通信方式有两种:一种是跨应用程序域边界传输对象副本,一种是使用代理交换消息。MarshalByRefObject 是通过使用代理交换消息来跨应用程序域边界进行通信的对象的基类。不是从 MarshalByRefObject 继承的对象根据值隐式封送。当远程应用程序引用根据值封送的对象时,将跨应用程序域边界传递该对象的副本。MarshalByRefObject 对象在本地应用程序域的边界内可直接访问。远程应用程序域中的应用程序首次访问 MarshalByRefObject 时,会向该远程应用程序传递代理。对该代理后面的调用将封送回驻留在本地应用程序域中的对象。当跨应用程序域边界使用类型时,类型必须是从 MarshalByRefObject 继承的,而且由于对象的成员在创建它们的应用程序域之外无法使用,所以不得复制对象的状态。 说白了,可能是有连接了Remoting应该只能传递没有连接的东西, 无状态的东东。。 再举个例子,.NET能传递DataSet作为Remoting的参数,但是不能传递DataReader作为参数,为什么呢?DataReader 是有状态的。所谓的状态其实不只是指数据库的连接。。 既然从MarshalByRefObject 继承的,必然有办法的 句柄是何时产生的 程序运行一段时间就出现问题,奇怪了。 谁能告诉我socket编程是怎么回事呢? 有谁试过整页内容导入EXCEL吗??? C#如何把一个对象置成初始化时的状态? C#+MSSQL开发的简单家庭财务管理软件 听课的时候思想老是想到了别的地方(上编程课听不懂) 求教关于控制显示设备的问题?欢迎大家一起来讨论! 大家帮帮我改正下啊急用啊 关于.net 的IDE 环境一个奇怪问题 C#中如何让前一个绘制的图片消失 键盘事件怎么没反映
Remoting应该只能传递没有连接的东西, 无状态的东东。。
为什么呢?DataReader 是有状态的。所谓的状态其实不只是指数据库的连接。。