日期:2014-05-19  浏览次数:20900 次

remoting 如何传递组件?
我传了个Combobox过去   老是出现:
由于安全限制,无法访问类型   System.Runtime.Remoting.ObjRef。
远程对象的方法:
public   void   FillComboBox(ref   ComboBox   combo,int   nIndex,   int   SM)
                {
                       
                        combo.Items.Clear();
                        SqlCommand   command   =   new   SqlCommand( "select   *   from   CW_Accountant_code   where   nIndex   = "   +   nIndex.ToString()   ,   Conn);
                        SqlDataReader   dr   =   command.ExecuteReader(CommandBehavior.CloseConnection);
                        while   (dr.Read())
                        {
                                combo.Items.Add(dr[ "SM "   +   SM.ToString()].ToString());
                        }
                        dr.Close();
                       
                }
客户端:
  DataBaseObject   dataobj   =   new   DataBaseObject(((AccType)item.Tag).Data);
                        Common.DataObj   =   dataobj;
                        dataobj.FillComboBox(ref   comboBox1,2,   1);


------解决方案--------------------
hdt(倦怠) : 远程传递需要实现序列化,且控件是不能传递的,因为它依赖于本地太多

可以的吧. MSDN:Component 可以进行远程处理,它从 MarshalByRefObject 派生