2011-11-28 32 views
5

tôi có lớp học trung tâm:SignalR javascript callback không làm việc

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

Và 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(); 

Tất cả conection cũng tốt: enter image description here

Nếu tôi sử dụng breakpoint ở đây Clients. addMessage (DateTime.Now.ToString ("HH: mm: ss") + "" + tin nhắn); mọi thứ đều ổn.

Nhưng tôi không nhận được gọi lại trên chức năng javascript. cảnh báo ("message:" + message); không bao giờ thực hiện

+0

Mã có vẻ tốt. Bạn đang chạy nó ở đâu? IIS? VS? – davidfowl

+0

@dfowler trên ISS 7.5 –

+0

Mã javascript ở trên trong sự kiện sẵn sàng hay tương tự? – escouser

Trả lời

3

Bạn đã thêm phía máy khách Signalr hub chưa?

<script src="/signalr/hubs" type="text/javascript"></script> 
Các vấn đề liên quan