2015-02-23 251 views
4

我想配置我signalR演示,以我的項目SignalR拒絕連接

框架:4.0SignalR版本:1.1.3

這裏是我的代碼

$(function() { 
      var connection = $.hubConnection('http://localhost:32555/'); 
      var chat = connection.createHubProxy('myChatHub'); 
      chat.on('send', function (message) { 
       $('#chat').html($('#chat').html() + "\r\n" + message); 
      }); 
      connection.logging = true; 
      connection.start().done(function() { 
       alert("Connection Complete"); 
       $('#sendBtn').click(function() { 
        chat.invoke('send', $('#message').val()); 
       }); 
      }).fail(function (param) { 
       console.log(param); 
      }); 
     }); 

Global.asax

protected void Application_Start(object sender, EventArgs e) 
     { 

      RouteTable.Routes.MapHubs(new HubConfiguration { EnableCrossDomain = true }); 
     } 

.CS

namespace vPortal 
{ 
    [HubName("myChatHub")] 
    public class LetsChat : Hub 
    { 
     public void send(string message,string userid,string Name) 
     { 
      Clients.All.addMessage(message, userid, Name); 
     } 
    } 
} 

當我試圖運行我得到這個錯誤

SignalR: Error during negotiation request: 

的頁面,但我已經啓用代理的Global.asax的我曾嘗試升級我的signalR到版本2.2.3。 但是,我的項目包與當前版本不兼容,所以我安裝了版本1.1.3。

我不知道我在做什麼錯在這裏我看到有一個連接,但無法建立。

+0

爲什麼啓用EnableCrossDomain = true? – 2015-02-23 06:57:23

+0

@FrebinFrancis我已經看到的地方,他們從要啓用您的應用程序跨域請求1.1.3 – 2015-02-23 06:57:56

+0

所以默認情況下禁用跨域?此外,我想知道你是如何包含在你的應用程序中的腳本文件signalR – 2015-02-23 07:00:44

回答

1

很多功勞去this男人。 他讓我的問題容易解決。

見,首先我所有的引用都是以4.0那麼所以我用Signalr舊版本1.1.4

這裏是我的錯誤情形:

  1. SignalR無法連接: 我通過在我的Global.asax文件中添加行RouteTable.Routes.MapHubs();刪除了此錯誤。

  2. 請求談判:有由我做了一個愚蠢的錯誤的命名空間是在我chat.aspx頁面不同。

  3. 版本衝突:請參閱我之前的庫,它與signalR的當前版本(2.3.2)不兼容。所以,我必須堅持以前的版本(1.1.3),步驟給出here,它的整潔。

同樣,我敢肯定我的代碼signalR將正常工作:

所以,跑我聊天,我的第一個消息是成功則再次出現了錯誤之後的某個時間和錯誤是

the added or subtracted value results in an un-representable datetime. signlar 

所以,這是爲me.This大頭疼的是肯定沒有跟signalR 我從frebin線索,我意識到,在我的網頁。配置

<httpRuntime executionTimeout="180" maxRequestLength="512000" /> 

的executionTimeout以前的值爲

我改變爲180和它的作品罰款!

我已經加入對未來喜好的所有場景。