Question

J'ai un bouton que les utilisateurs peuvent cliquer pour enchérir sur quelque chose. Chaque offre, diffuse la dernière offre à tous les autres clients. C'est la raison pour laquelle j'utilise SignalR.

Maintenant, les besoins des utilisateurs d'avoir des crédits actifs, et s'il n'a pas de crédits que je veux le rediriger quelque part.

L'approche la plus évidente me manque, de sorte que toute suggestion est la bienvenue.

//Does the user have credits to spend?
if (user.LanceCreditBalance >= 1)
{
    //populate the "ar" object and send it out to everybody.
    var result = Json.Encode(ar);
    Clients.addMessage(result);
}
else
{
    //And this isn't working as expected. Doesn't redirect
    //And causes a 302 error when viewing the Firebug console in Firefox.
    HttpContext.Current.Response.Redirect(@"http://www.google.com");
}

Le code ci-dessus est tout dans la classe chat qui hérite de la classe SignalR.Hub.

Était-ce utile?

La solution

Serveur:

if(user.LanceCreditBalance >= 1)
{
    var result = Json.Encode(ar);
    // send Message to all clients
    Clients.addMessage(result);
}
else
{
    // Invoke a js-Function only on the current client
    Caller.redirectMe("http://www.google.com");
}

Client:

$(function () {
    var chat = $.connection.chat;

    chat.addMessage = function(message) {
        // do something
    };

    // function the server can invoke
    chat.redirectMe = function(target) {
        window.location = target;
    };

    $.connection.hub.start();
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top