客户端:
<add key="ServiceURL_SysRoleDal" value="tcp://10.0.0.122:8000/TintLockManage.LockDAL.SysRoleDal"/>
服务端:<wellknown type="TintLockManage.LockDAL.SysEmployeeDal,TintLockManage.LockDAL" objectUri="TintLockManage.LockDAL.SysEmployeeDal" mode="Singleton" />

<channels>
        <channel ref="tcp" port="8000"/>
        <serverProviders>
          <formatter ref="binary" typeFilterLevel="Full"/> 
        </serverProviders>
      </channels>
远程对象:SysEmployeeDal.cs
它继承 MarshalByRefObject问题如下:
按上述架框,我调用一个最简单的   public int Add(int i,int j)方法,一点问题没有,测试1+1会返回2。
接下来我要连接数据库,查询一张表的记录,我是这么做的,在SysEmployeeDal.cs里,我会对SQL语句组织好,参数处理好,然后将其扔给 SqlHelper的静态方法为我执行,并返回一个 SqlDataReader对象,
但事与愿违,报错:捕捉到 System.TypeInitializationException
  Message="“TintLockManage.LockDAL.SQLHelper”的类型初始值设定项引发异常。"
  Source="TintLockManage.LockDAL"
  TypeName="TintLockManage.LockDAL.SQLHelper"
在服务端,如果我采用直接 new的方式,会很顺利得到数据,但用Remoting服务的话,就卡死在SqlHelper那里,
我的推测是:因为
SysEmployeeDal employeeDal = (SysEmployeeDal)Activator.GetObject(typeof(SysEmployeeDal), ConfigurationManager.AppSettings["ServiceURL_SysEmployeeDal"]);只是获得了SysEmployeeDal的对象,而没有得到SqlHelper的对象所以如此,不知道这个推断对不?
哪个达人知道其中的蹊跷?