zoukankan      html  css  js  c++  java
  • WCF 中 IPC 跨进程访问对象

    直接上代码:

    服务端:
      private
    static string ServerChannelId = $"ScanSnapHome-{Environment.UserName}";   var serverChannel = IpcServerChannelUtil.GetIpcServerChannelInstance(ServerChannelId);   ChannelServices.RegisterChannel(serverChannel, true);   sharingData = new SharingData();   sharingData.OnNotify += new SharingData.CallEventHandler(OnNotify); // OnNotify 回调函数,就不上传了   RemotingServices.Marshal(sharingData, "SharingData", typeof(SharingData));
    class SharingData : MarshalByRefObject
        {
            public class HomeDataEventArgs : EventArgs
            {
                public string Param { get; private set; }
    
                public string SerialNo { get; private set; }
    
                public ModeConstant Mode { get; private set; }
    
                public string ContentId { get; private set; }
    
                public HomeDataEventArgs(string param, string serialNo, ModeConstant mode, string contentId)
                {
                    this.Param = param;
                    this.SerialNo = serialNo;
                    this.Mode = mode;
                    this.ContentId = contentId;
                }
            }
    
            public delegate void CallEventHandler(HomeDataEventArgs e);
            public event CallEventHandler OnNotify;
            public void DataNotify(string param, string serialNo, ModeConstant mode, string contentId)
            {
                OnNotify(new HomeDataEventArgs(param, serialNo, mode, contentId));
            }
    
            public override object InitializeLifetimeService()
            {
                return null;
            }
        }

    客户端:
    clientChannel = new IpcClientChannel();
    ChannelServices.RegisterChannel(clientChannel, true);
    sharingData = (SharingData)Activator.GetObject(typeof(SharingData), $"ipc://{ServerChannelId}/SharingData");  // 服务器中的ServerChannelId变量
    这里就完成了,客户端就可以拿到服务器的SharingData对象。
     
  • 相关阅读:
    查询SQL数据库中表占用资源情况的语句
    修改VMware网卡MAC的方法
    Ajax 与 .net Validator
    控件属性值绑定到数据
    一个设计的小例子警察抓小偷
    加密Web.config 文件中的敏感信息
    VS .Net 2005程序集换名之后的遗留问题
    为ASP.Net 创建和配置应用程序服务数据库
    ArcGIS 9.0 在Windows XP SP2 上安装的问题(数据保护造成的)
    使用客户端脚本
  • 原文地址:https://www.cnblogs.com/ilison/p/12455431.html
Copyright © 2011-2022 走看看