现在Remoting的激活方式是服务端激活(Singleton),并且服务端需要获取远程对象代理。需要用配置文件来实现!
(也就服务端程序中不希望用Activator.GetObject的方法获取远程代理,想通过读配置文件用new的方法来获得远程代理,激活也是在服务端)请问高手这个配置文件如何写?

解决方案 »

  1.   

    在服务器边用服务工厂<?xml version="1.0" ?>
    <services  domain="baseService" desc="基础服务">
      <!-- 调度服务     mode = schedule 启动时加载至调度池-->
      <!-- 持久服务     mode = persist  启动时加载,支持钝化 -->
      <!-- 普通服务     mode = normal   由对象池管理其生存周期 -->
     
      <!-- 演示的服务  -->
    <service name="Interface.IXService" className="XServices.MyXService"  desc="报表服务"  loadFrom="server\XService.dll" mode="normal"  />
    </services>
      

  2.   

    2楼你写的那个我不太明白!我服务端的配置文件是这么写的:<?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <system.runtime.remoting>
        <application>
          <service>
            <wellknown mode="Singleton" type="DataServices.DatabaseService, DataServices" objectUri="DatabaseService" />
            <wellknown mode="Singleton" type="LogicServices.SettingService, LogicServices" objectUri="SettingService" />
            <wellknown mode="Singleton" type="LogicServices.DocumentService, LogicServices" objectUri="DocumentService" />
          </service>
          <channels>
            <channel port="8087" ref="tcp">
              <serverProviders>
                <formatter ref="binary" typeFilterLevel="Full" />
              </serverProviders>
            </channel>
          </channels>
        </application>
      </system.runtime.remoting>
    </configuration>上面的写法服务端激活了3个远程代理 DatabaseService SettingService DocumentService我现在想在服务端调用这3个远程代理,应该在配置文件中如何添加啊?原来用代码方式:“DatabaseService databaseService = (DatabaseService)Activator.GetObject(typeof(DatabaseService), "tcp://localhost:8087/DatabaseService");” 实现的。
    现在想在配置文件中添加。在代码中用:DatabaseService databaseService = new DatabaseService()方式调用