예제 #1
0
파일: Form1.cs 프로젝트: Grukz/Sample
        public RemoteObject remoteObj;  // 共有するRemoteObject型remoteObj.

        // コンストラクタ
        public Form1()
        {
            InitializeComponent();

            // IPCサーバーチャンネルを作成.
            IpcServerChannel server = new IpcServerChannel("ipcserver");    // ポート名が"ipcserver"なIpcServerChannelオブジェクトserverを生成.

            // チャンネルを登録.
            ChannelServices.RegisterChannel(server, true);    // ChannelServices.RegisterChannelでチャンネルserverを登録.

            // リモートオブジェクトの作成.
            remoteObj = new RemoteObject(); // RemoteObjectオブジェクトを生成し, remoteObjに格納.

            // リモートオブジェクトの公開.
            RemotingServices.Marshal(remoteObj, "message", typeof(RemoteObject));   //  RemotingServices.MarshalでremoteObjを公開.("ipc://ipcserver/message"というURIで公開される.)
        }
예제 #2
0
 // button1がクリックされた時.
 private void button1_Click(object sender, EventArgs e)
 {
     // リモートオブジェクトからテキストを取得.
     remoteObj     = (RemoteObject)Activator.GetObject(typeof(RemoteObject), "ipc://ipcserver/message"); // Activator.GetObjectで取得してRemoteObjectにキャストしてremoteObjに格納.
     textBox1.Text = remoteObj.Message;                                                                  // textBox1.TextにremoteObj.Messageを格納.
 }