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();
        }
示例#2
0
        // 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);
        }