学习笔记--Remoting学习

最近接受到一个项目需要用Remoting通信,主要是通过服务端操作数据库。

第一步:建立一个服务端与客户端公用的DAclass<数据库操作类>

  [Serializable]

  public class DAclass:System.MarshalByRefObject

  {

    //数据库操作方法

  }

第二步:创建服务端通信类Remoting

private class Server

{

  public Server()

  {

    DAclass da = new DAclass();

    //本例使用http信道

    HttpChannel hc = new HttpChannel(port);//port 端口号

    ChannelServices.RegisterChannel(hc, false);

    //typeof(DAclass), 需要注册的对象

    //"SGP" 一个标识可自定义

    //WellKnownObjectMode.SingleCall 注册对象的访问方式,本例为每个客户端连到server都会创建一个注册对象
            RemotingConfiguration.RegisterWellKnownServiceType(typeof(DAclass), "SGP", WellKnownObjectMode.SingleCall);

   //...

  }

}

第三步:创建客户端通信类Reqest

public class Reqest

{

  private DAclass obj_Da = null;

  public DAclass OBJ_DA

  {

    get{return obj_Da;}

  }

  public Reqest()

  {

    //ServerIP server端的ip地址

    //Port server端口号

    string str_HttpServer = "http://" + ServerIP + ":"+ Port + "/SGP";

    //获取服务端对象

    OBJ_DA = (DAClass)Activator.GetObject(typeof(DAClass), str_HttpServer);

  }

  //...可利用服务端对象操作,来访问数据库。

}

posted @ 2012-12-19 12:11  茂茂  阅读(117)  评论(0编辑  收藏  举报