progrAmmar
progrAmmar

Reputation: 2670

Sending messages from Server to clients in SignalR 2.0

I am learning SignalR and it pretty simple. However, I am having a problem sending Messages from Server to client.

My Hub class is as follows:

public class UpdateHub : Hub
{
    private readonly UpdateBroadcast _broadcaster;

    public UpdateHub() : this(UpdateBroadcast.Instance) { }

    public UpdateHub(UpdateBroadcast broadCaster)
    {
        _broadcaster = broadCaster;
    }
}

And I am calling this hub in my broadcaster class like this:

public class UpdateBroadcast
{
    private readonly static Lazy<UpdateBroadcast> _instance = new Lazy<UpdateBroadcast>(
    () => new UpdateBroadcast(GlobalHost.ConnectionManager.GetHubContext<UpdateHub>()));

    private IHubContext _context;

    private UpdateBroadcast(IHubContext context)
    {
        _context = context;
    }

    public static UpdateBroadcast Instance
    {
        get { return _instance.Value; }
    }

    public void UpdatePost(Post post)
    {
        _context.Clients.All.updatePost(post);
    }

}

In my MVC Controller I am calling the UpdatePost method:

public JsonResult AddPost(Post post)
{
    UpdateBroadcast broadcaster = UpdateBroadcast.Instance;
    Post result = dbFunctions.AddPost(post);
    broadcaster.UpdatePost(post);
    return Json(new { success = result != null  }, JsonRequestBehavior.DenyGet);
}

When I debug the code, I can see that UpdatePost is executed but there is no activity on the client side. My client-side function is like this:

$(function () {    
    var update = $.connection.updateHub;
    update.client.updatePost = function (data) {
        alert("called update post");
    };
});

I don't seem to understand what is causing this.

Upvotes: 2

Views: 2615

Answers (1)

rishikesh tadaka
rishikesh tadaka

Reputation: 483

Please check below 2 links. I got really helpful with successfully implementation of signalR. Hopefully, this links help you.

https://github.com/vgheri/ChatR

http://www.codeproject.com/Articles/524066/SignalR-Simple-Chat-Application-in-Csharp

Upvotes: 1

Related Questions