2014-03-19 92 views
1

我正在使用signalr的網站上工作,它工作正常,當我在本地機器上測試它時,但是當ai遠程嘗試時,我無法瀏覽mvc,而當我嘗試發送請求時簽署它只是坐在那裏等待。SignalR不適用於遠程連接

這裏是我的javascript代碼(我使用angularjs但所有的代碼工作正常!):

function FixturesListController($scope,$q) { 

$scope.fixtures = ['']; 

var stringListHub = $.connection.stringListHub, 
    model = { 
     Items: [] 
    }; 
$.connection.hub.url = "http://192.168.1.2:8001/signalr"; 

stringListHub.client.updateModel = function(newName) { 
    if (newName.Items != null) { 
     $scope.$apply(function() { 
      $scope.fixtures.length = 0; 
      $(newName.Items).each(function(index, value) { 
       $scope.fixtures.push(value); 
      }); 
     }); 
    } 


} 

$.connection.hub.start({ xdomain: true }).done(function() { 
    var fixtures = stringListHub.server.test().done(function (item) { 
     $scope.$apply(function() { 
      if (item.Items != null) { 
       $scope.fixtures.length = 0; 
       $(item.Items).each(function(index, value) { 
        $scope.fixtures.push(value); 
       }); 
      } 
     }); 
    }); 

}); 

$scope.AddFixture = function() { 
    $scope.fixtures.push($scope.newName); 
    stringListHub.server.updateModel({ 
     Items: $scope.fixtures 
    }); 

}; 
} 

這裏是signalr樞紐:

public class StringListHub : Hub 
{ 
    private static StringList _list = new StringList(); 

    public void UpdateModel(StringList model) 
    { 
     _list = model; 
     _list.LastUpdatedBy = Context.ConnectionId; 
     // Update the shape model within our broadcaster 
     Clients.AllExcept(_list.LastUpdatedBy).updateModel(_list); 
    } 

    public StringList Test() 
    { 
     return _list; 
    } 
} 

而且我添加到了我的網絡.config

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"> 
    </modules> 
</system.webServer> 
+0

「無法瀏覽MVC」,這是什麼意思?你是否收到任何錯誤信息? – Steve

+0

您是否使用過Fiddler或Firebug之類的東西來查看是否有響應錯誤代碼被髮送回來或出現javacript錯誤? – Steve

+0

是的,嘗試了所有的和cannont瀏覽mvc我的意思是它只是坐在那裏加載和沒有任何反應 –

回答

1

我發現問題是什麼。我在我自己的個人機器上測試它,並且iis對併發連接的最大數量限制爲3.所以我在windows服務器上運行它,並且它工作正常。