Erro ao carregar os hubs. Verifique se a referência de hubs está correta, por exemplo, <script src = '/ signalr / js'> </script>

Existem duas páginas: Login.aspx e Profile.aspx, criadas usando HTML e AngularJS.

A página login.aspx usa a ng-view para obter o modelo de Login-view ou Signup View. O código usado é:

<head>
    <title></title>
    <base href="/Login.aspx" />
    <link href="StyleSheet/Login_css.css" rel="stylesheet" />
    <script src="JscriptVendors/angular.min.js"></script>
</head>
<body ng-app="JouralApp_login">
    <div ng-view></div>

    <script src="Jscript_Angular/Model.js"></script>
    <script src="Jscript_Angular/Controllers/LoginPageController.js"></script>
    <script src="JscriptVendors/angular-route.min.js"></script>
    <script src="JscriptVendors/angular-animate.min.js"></script>
    <script src="JscriptVendors/jquery.min.js"></script>
</body>

As visualizações são armazenadas na pasta Modelo com os nomes como: loginTemplate.html e signupTemplate.html.

O módulo usado para manipular a página login.aspx é:

var app_login = angular.module('JouralApp_login', ['ngRoute','ngAnimate']);
var app_profile = angular.module('GameApp', []);

app_login.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
    $locationProvider.html5Mode(true);
    $routeProvider
        .when('/login', {
            templateUrl: 'Jscript_Angular/Templates/loginTemplate.html',
            controller: 'loginController'
        })
        .when('/signup', {
            templateUrl: 'Jscript_Angular/Templates/signupTemplate.html'
        }).otherwise({
            redirectTo:'/login'
        })
}]);

Agora, criei meu Profile.aspx, com o código HTML como:

<head>
    <script src="Scripts/angular.js"></script>
</head>
<body ng-app="app_profile">    
    <div ng-controller="chatController">
        <div>
            <div ng-repeat="chat in messages">{{chat}}</div>
            <div>
                <input type="text ng-model="message" />
                <input type="button" ng-click="newMessage()" />
            </div>
        </div>
    </div>
    <script src="Jscript_Angular/Model.js"></script>
    <script src="Scripts/jquery-1.6.4.js"></script>
    <script src="Scripts/jquery.signalR-2.2.0.js"></script>
    <script src="signalr/hub"></script>
    <script src="Jscript_Angular/Controllers/ChatController.js"></script>
</body>

Tudo funcionou bem até eu tentar integrar o SignalR ao meu projeto. Eu fiz duas aulas:

CLASSE 1:

[assembly: OwinStartup(typeof(Startup))]

public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        app.MapSignalR();
    }
}

CLASSE 2:

public class ChatHub : Hub
{
    public void SendMessage(string name, string message)
    {
        Clients.All.broadcastMessage(name, message);
    }        
}

Também fiz o seguinte controlador para acessar minha função javascript:

app_profile.controller('chatController',['$scope', function ($scope) {
    $scope.name = 'Guest';
    $scope.message = '';
    $scope.messages = [];
    $scope.chatHub = null;


    $scope.chatHub = $.connection.chatHub;
    $.connection.hub.start();

    $scope.chatHub.client.broadcastMessage = function (name, message) {
        var newMessage = name + "    " + message;

        $scope.messages.push(newMessage);
        $scope.$apply();
    };
    $scope.newMessage = function () {
        $scope.chatHub.server.sendMessage($scope.name, $scope.message);
        $scope.message = '';
    }
}]);

Agora, quando tento acessar minha página de perfil, ela mostra o erro

angular.js: 13550 Erro: SignalR: Erro ao carregar hubs. Verifique se a referência de hubs está correta, por exemplo, .

Além disso, quando tento acessar,localhost: 5136 / signalr / hubs, istoredireciona para a minha página de login, ou seja:localhost: 5136 / login

Acho que o problema é que, ele não pode acessar o hub que criei devido ao roteamento que fiz usando angularJS para a página de login.

Por favor me ajude a encontrar a solução.

questionAnswers(0)

yourAnswerToTheQuestion