远程处理错误:由于安全限制,无法访问System.Runtime.Remoting.ObjRef类型

时间:2016-10-06 07:56:10

标签: .net remoting .net-remoting

我对类AppServerSqlServerDataUtil使用远程处理。

配置文件:

客户端:

<configuration>
  <system.runtime.remoting>
    <application >
      <client url="tcp://172.22.110.25:8086">
        <activated  type="DealsRoomDAL.AppServerSqlServerDataUtil, DealsRoomDAL"/>
      </client>     
      <channels>
        <channel ref="tcp" secure="true" >
          <serverProviders>
            <formatter ref="soap" typeFilterLevel="Full" />
            <formatter ref="binary" typeFilterLevel="Full"/>
          </serverProviders>

        </channel>
      </channels>
    </application>
  </system.runtime.remoting>
</configuration>

服务器:

<?xml version="1.0" encoding="utf-8" ?>

<configuration>
  <system.runtime.remoting>
    <customErrors mode="off"/>
    <application>
      <service>
        <activated   type="DealsRoomDAL.AppServerSqlServerDataUtil, DealsRoomDAL"/>
      </service>

      <channels>
        <channel ref="tcp" port="8086"  secure="true" machineName="prblalsmtrbx.bnhpgroup.com" >
          <clientProviders>
            <formatter ref="soap" typeFilterLevel="Full" />
            <formatter ref="binary" typeFilterLevel="Full"/>
          </clientProviders>
        </channel>
      </channels>
    </application>
  </system.runtime.remoting>
</configuration>

我有一个函数将SqlCommand作为类AppServerSqlServerDataUtil上的参数

public object GetScalarValue(SqlCommand com)
        {
          ...
        }

当我尝试调用GetScalarValue时,我收到错误:

由于安全限制,无法访问System.Runtime.Remoting.ObjRef类型。

当我在AppServerSqlServerDataUtil上调用包含简单输入参数(如字符串)的其他函数时,没有问题。

1 个答案:

答案 0 :(得分:0)

问题似乎与SqlCommand参数有关。 它不可序列化。 错误信息非常令人困惑。