Il existe deux pages: Login.aspx et Profile.aspx, qui utilisent HTML et AngularJS.
La page login.aspx utilise ng-view pour obtenir le modèle Login-view ou Signup View. Le code utilisé est:
Les vues sont stockées dans le dossier Modèles avec les noms suivants: loginTemplate.html et signupTemplate.html.
Le module utilisé pour gérer la page login.aspx est:
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' }) }]);
Maintenant, a créé mon Profile.aspx, avec le code HTML comme:
{{chat}}
Tout fonctionnait bien jusqu’à ce que j’essaie d’intégrer SignalR dans mon projet. J’ai fait deux cours:
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(ssortingng name, ssortingng message) { Clients.All.broadcastMessage(name, message); } }
J’ai également créé le contrôleur suivant pour accéder à ma fonction 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 = ''; } }]);
Maintenant, lorsque j’essaie d’accéder à ma page de profil, l’erreur s’affiche.
angular.js: 13550 Erreur: SignalR: Erreur lors du chargement des hubs. Assurez-vous que la référence de votre hub est correcte, par exemple.
Aussi, quand j’essaye d’accéder, localhost: 5136 / signalr / hubs , il me redirige vers ma page de connexion, c’est à dire: localhost: 5136 / login
Je pense que le problème est que, il ne peut pas accéder au hub que j’ai créé à cause du routage que j’ai fait en utilisant angularJS pour la page de connexion.
S’il vous plaît aidez-moi à trouver la solution.