public void Join(string username) { callback = OperationContext.Current.GetCallbackChannel <IDuplexChatClient>(); _users[callback] = username; messageSent = new MessageSent(MessageSentHandler); OnMessageSent += messageSent; }
public void SendMessage(string message) { callback = OperationContext.Current.GetCallbackChannel <IDuplexChatClient>(); string username; if (!_users.TryGetValue(callback, out username)) { return; } MessageEventArgs e = new MessageEventArgs(); e.Message = message; e.Sender = username; OnMessageSent(this, e); }
public void Unsubscribe() { callback = OperationContext.Current.GetCallbackChannel <IDuplexChatClient>(); _users.Remove(callback); OnMessageSent -= messageSent; }