2011-11-28 8 views
5

J'ai la classe moyeu:SignalR javascript rappel ne fonctionne pas

public class ChatHub : Hub 
{ 
    // Send message 
    public void Send(string message) 
    { 
     Clients.addMessage(DateTime.Now.ToString("HH:mm:ss") + " " + message); 
    } 
} 

Et javascript:

// Proxy created on the fly 
var chat = $.connection.chatHub; 

// Declare a function on the chat hub so the server can invoke it 
chat.addMessage = function(message) { 
    alert("message:" + message); 
    $('#chat').append('<div>' + message + '</div>'); 
}; 


$("#sendButton").click(function() { 

    // Call the chat method on the server 
    chat.send($('#message').val()) 
     .done(function() { 
      console.log('Success!') 
     }) 
     .fail(function (e) { 
      console.warn(e); 
     }) 
}); 

// Start the connection 
$.connection.hub.start(); 

Tous conection sont très bien: enter image description here

Si je breakpoint ici clients. addMessage (DateTime.Now.ToString ("HH: mm: ss") + "" + message); tout va bien.

Mais je ne reçois pas de rappel sur la fonction javascript. alert ("message:" + message); ne s'exécute jamais

+0

Le code semble correct. Où le dirigez-vous? IIS? CONTRE? – davidfowl

+0

@dfowler sur ISS 7.5 –

+0

Le code javascript ci-dessus est-il dans l'événement ready ou similaire? – escouser

Répondre

3

Avez-vous ajouté le concentrateur Signalr côté client?

<script src="/signalr/hubs" type="text/javascript"></script>