Inheritance: INativeDependencyObjectWrapper
		public void CreateChannel(bool isMaster, string channelName)
		{
			if (isMaster)
			{
				_receiver = new LocalMessageReceiver(channelName, ReceiverNameScope.Global, LocalMessageReceiver.AnyDomain);
				_receiver.DisableSenderTrustCheck = true;
				_receiver.MessageReceived += new EventHandler<MessageReceivedEventArgs>(_receiver_MessageReceived);
				_receiver.Listen();
			}
			else
			{
				string guid = Guid.NewGuid().ToString();
				if (_receiver != null)
				{
					guid = _receiver.ReceiverName;
				}
				_sender = new LocalMessageSender(channelName, LocalMessageSender.Global);
				_sender.SendCompleted += new EventHandler<SendCompletedEventArgs>(_sender_SendCompleted);
				_sender.SendAsync(string.Format("createchannel|{0}", guid));
				if (_receiver == null)
				{
					_receiver = new LocalMessageReceiver(guid, ReceiverNameScope.Global, LocalMessageReceiver.AnyDomain);
					_receiver.DisableSenderTrustCheck = true;
					_receiver.MessageReceived += new EventHandler<MessageReceivedEventArgs>(_receiver_MessageReceived);
					_receiver.Listen();
				}
			}
		}
示例#2
0
        private void btnSubmit_Click(object sender, RoutedEventArgs e)
        {
            LocalMessageSender msgSender = new LocalMessageSender(ReceiverAppName);

            if(message!=null || message!=string.Empty)
                msgSender.SendAsync(message);
        }
示例#3
0
        public CanvasContextMenu(TypeManager typeManger, LocalMessageSender sender, INodeNavigator navigator, Point location)
            : base()
        {
            TypeManager = typeManger;
            MessageSender = sender;
            Navigator = navigator;
            Location = location;

            this.Loaded += new RoutedEventHandler(CanvasContextMenu_Loaded);
        }
示例#4
0
        //Guid msgreceiverId = Guid.NewGuid(); 
        public AlertsIpc(string mainwindowId,AlertsCategory alertCategory,MainPage2   page)
        {
            pageMain = page;
            messageSender = new LocalMessageSender(mainwindowId.ToString(), LocalMessageSender.Global);
            messageSender.SendCompleted += new EventHandler<SendCompletedEventArgs>(messageSender_SendCompleted);

            string payload = IPCHelper.FormatMessage(
                                    alertCategory.ToString(), 
                                    IPCHelper.MSGHDR_DATAREQUEST);
            //MessageBox.Show("Before sending");
            messageSender.SendAsync(payload);
            //MessageBox.Show("After sending");
        }
示例#5
0
		public void Ctor_String ()
		{
			Assert.Throws<ArgumentNullException> (delegate {
				new LocalMessageSender (null);
			}, "null");
			Assert.Throws<ArgumentException> (delegate {
				new LocalMessageSender (TooLongName);
			}, "TooLongName");

			LocalMessageSender lms = new LocalMessageSender (String.Empty);
			Assert.IsNull (lms.ReceiverDomain, "ReceiverDomain");
			Assert.AreEqual (String.Empty, lms.ReceiverName, "ReceiverName");

			lms = new LocalMessageSender (InvalidNameComma);
			Assert.AreEqual (InvalidNameComma, lms.ReceiverName, "ReceiverName/InvalidNameComma");

			lms = new LocalMessageSender (InvalidNameColon);
			Assert.AreEqual (InvalidNameColon, lms.ReceiverName, "ReceiverName/InvalidNameColon");
		}
		void _receiver_MessageReceived(object sender, MessageReceivedEventArgs e)
		{
			string msg = e.Message;
			if (e.Message == "heartbeat")
			{
				e.Response = "heartbeat";
				return;
			}
			if (e.Message == "beginchunked")
			{
				receivingChunked = true;
				incomingMessage = "";
				return;
			}
			else if (e.Message == "endchunked")
			{
				receivingChunked = false;
				msg = incomingMessage;
			}
			else if (receivingChunked)
			{
				incomingMessage += msg;
				return;
			}
			string[] s = msg.Split('|');
			switch (s[0])
			{
				case "createchannel":
					if (_sender != null)
					{
						_sender.SendCompleted -= new EventHandler<SendCompletedEventArgs>(_sender_SendCompleted);
					}
					_sender = new LocalMessageSender(s[1], LocalMessageSender.Global);
					_sender.SendCompleted += new EventHandler<SendCompletedEventArgs>(_sender_SendCompleted);
					_sender.SendAsync("heartbeat");
					break;
				default:
					if (MessageReceived != null)
					{
						MessageReceived(this, new MyMessageReceivedEventArgs(e, msg));
					}
					break;
			}
		}
		void _sender_SendCompleted(object sender, SendCompletedEventArgs e)
		{
			if (e.Message == "heartbeat")
			{
				if (e.Error != null)
				{
					Connected = false;
					_sender.SendCompleted -= new EventHandler<SendCompletedEventArgs>(_sender_SendCompleted);
					_sender = null;
				}
				else
				{
					Connected = true;
				}
			}
			if (SendCompleted != null)
			{
				SendCompleted(this, e);
			}
		}
		public void Dispose()
		{
			timer.Stop();
			timer.Tick -= new EventHandler(timer_Tick);
			if (_sender != null)
			{
				_sender.SendCompleted -= new EventHandler<SendCompletedEventArgs>(_sender_SendCompleted);
				_sender = null;
			}
			if (_receiver != null)
			{
				_receiver.MessageReceived -= new EventHandler<MessageReceivedEventArgs>(_receiver_MessageReceived);
				_receiver = null;
			}
		}