SignalR 2 ne génère pas d' /signalr/hubs
Voici la page:
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/jquery.signalR-2.1.2.min.js"></script>
<!--Reference the autogenerated SignalR hub script. -->
<script src="~/signalr/hubs"></script>
<!--SignalR script to update the chat page and send messages.-->
<script>
$(function () {
//Reference the auto-generated proxy for the hub.
var notification = $.connection.notificationHub;
//Create a function that the hub can call back to display messages.
notification.client.addNewMessage = function (message) {
//Add the message to the page.
$('#discussion').append('<li><strong>'
+ '</strong>: ' + htmlEncode(message) + '</li>');
};
//Set initial focus to message input box.
$('#message').focus();
//Start the connection.
$.connection.hub.start().done(function () {
$('#sendmessage').click(function () {
//Call the Send method on the hub.
chat.server.send($('#message').val());
//Clear text box and reset focus for next comment.
$('#message').val('').focus();
});
});
});
//This optional function html-encodes messages for display in the page.
function htmlEncode(value) {
var encodedValue = $('<div />').text(value).html();
return encodedValue;
}
</script>
Ici est la plaque tournante de la classe:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.AspNet.SignalR;
using Microsoft.AspNet.SignalR.Hubs;
namespace AdminWebApp.Hubs
{
[HubName("notificationHub")]
public class NotificationHub : Hub
{
public void SendNotification(string message)
{
Clients.All.addNewMessage(message);
}
}
}
De démarrage.cs:
using Microsoft.Owin;
using Owin;
[assembly: OwinStartupAttribute(typeof(AdminWebApp.Startup))]
namespace AdminWebApp
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
}
}
}
Lorsque j'essaie d'accéder à: http://localhost:4551/signalr/hubs
j'obtiens une erreur HTTP 404 non trouvé erreur et quand j'essaie d'exécuter la page j'obtiens:
Failed to load resource: the server responded with a status of 404 (Not Found)
Uncaught TypeError: Cannot read property 'client' of undefined
J'ai essayé ceci: signalR : /signalr/hubs n'est pas généré et ça n'a pas fonctionné.
Des idées?
OriginalL'auteur Niclassg | 2014-10-09
Vous devez vous connecter pour publier un commentaire.
Mondiale.asax fichier sur le Application_Start événement, vous devez vous inscrire le hub url.
Cette ligne est manquante à l'app.MapSignalR();
Ajout: app.MapSignalR(); le Démarrage.cs fixe il Aravind Sivam. Merci
c'est à l'ancienne - c'est obsolète si l'aide
[OwinStartupAttribute]
OriginalL'auteur Aravind Sivam
Il a travaillé pour moi:
Aller pour le démarrage de la classe dans votre projet, dans la méthode de Configuration et ajouter ceci:
app.MapSignalR("/signalr", nouvelle HubConfiguration());
J'espère que cela fonctionne pour vous
OriginalL'auteur Efrain Toribio Reyes
Essayer cela et pas besoin d'écrire de ligne de dans App-Début de l'Événement
OriginalL'auteur Sa Nuj
Si vous utilisez Visual Studio 2012, le SignalR Classe Hub (v2) modèle ne sera pas disponible. Vous pouvez ajouter une plaine Classe appelée ChatHub à la place.
étape à suivre
1)
In Solution Explorer, right-click the project, select **Add** | SignalR Hub Class (v2). Name the class ChatHub.cs
2)Modifier la classe
OriginalL'auteur Ankita Singh
Dans la mienne, j'avais copier/coller le nom de la classe à partir d'un exemple, mais ce n'est pas ma classe a été nommé.
JS:
C#:
OriginalL'auteur codeMonkey