public ActionResult Chat() { var users = UserManager.Users.ToList(); var userName = User.Identity.Name; var userId = User.Identity.GetUserId(); ViewBag.Users = new SelectList(users, "Id", "Username"); // Za potrebe testiranja var context = GlobalHost.ConnectionManager.GetHubContext<ChatHub>(); if (context != null) { var obj = new UserViewModel() { UserId = userId, Message = "Poruka sa servera", Name = userName }; context.Clients.User(userId).addNewMessageToPage(obj); } return View(); }
// Ako želimo spremati trenutne sesije imamo ovdje dva primjera (in-memory i permental(external) storage) //http://www.asp.net/signalr/overview/guide-to-the-api/mapping-users-to-connections public void Send(String who, String Message) { var UserId = Context.User.Identity.GetUserId(); var Username = Context.User.Identity.Name; var obj = new UserViewModel() { UserId = UserId, Message = Message, Name = Username, }; Clients.User(who).addNewMessageToPage(obj); }