• λ我爱Aspx >> Asp.Net >> Microsoft .Net Remoting系列专题之三:Remoting事件处理全接触
  • Microsoft .Net Remoting系列专题之三:Remoting事件处理全接触

  • :aspxer  Դ:internet  :2007-5-15 20:46:12  ؼ:.net
  • BinaryClientFormatterSinkProvider();

    servERProvider.TypeFilterLevel = TypeFilterLevel.Full;

    IDictionary props = new Hashtable();

    props["port"] = 8080;

    HttpChannel channel = new HttpChannel(props,clientProvider,serverProvider);

    ChannelServices.RegisterChannel(channel);

    Obj = new BroadCastObj();

    ObjRef objRef = RemotingServices.Marshal(Obj,"BroadCastMessage.soap");

    }

    注意语句serverProvider.TypeFilterLevel = TypeFilterLevel.Full;此语句即设置序列化安全级别的。要使用TypeFilterLevel属性,必须申明命名空间:

    using System.Runtime.Serialization.Formatters;

    而后面两条语句就是注册远程对象。由于在我的广播程序中,发送广播消息是放在另一个窗口中,因此我将该远程对象声明为公共静态对象:

    public static BroadCastObj Obj = null;

    然后在调用窗口事件中加入:

    private void ServerForm_Load(object sender, System.EventArgs e)

    {

    StartServer();

    lbMonitor.Items.Add("Server started!");

    }

    来看看界面,首先启动服务端主窗口:

    我放了一个ListBox控件来显示一些信息,例如显示服务器启动了。而BroadCast按钮就是广播消息的,单击该按钮,会弹出一个对话框:

    BraodCast按钮的代码:

    private void btnBC_Click(object sender, System.EventArgs e)

    {

    BroadCastForm bcForm = new BroadCastForm();

    bcForm.StartPosition = FormStartPosition.CenterParent;

    bcForm.ShowDialog();

    }

    在对话框中,最主要的就是Send按钮:

    Ҷƪл˵?
  • һƪRemoting服务端和客户端程序该这样模式来写
    һƪMicrosoft .Net Remoting系列专题之一:.Net Remoting基础篇