SignalR Négocier 404
Je suis SignalR 2.0. Tout fonctionne bien lors de l'exécution en local sur mon VS 2012. Mais quand j'ai publier le site sur IIS, il se casse. Le site se charge, mais l'un des scripts les retours 404 not Found. Le script est quelque chose comme.
Ce chemin n'existe pas, en effet. Le chemin d'accès correct devrait être:
https://example.com/privé/signalr/négocier?xxx
Note la partie en gras.
À l'intérieur du Site (https://example.com/) j'ai une autre Application (https://example.com/private/). Celui-ci est SignalR.
Cela semble être un bug dans SignalR depuis le signalr/hubs chemin est accessible à partir de mon site privé.
Avez-vous comprendre cela? J'ai le même problème...
J'ai été en mesure de le résoudre par moi-même. Voir ma réponse et vérifier si cela fonctionne pour vous.
J'ai été en mesure de le résoudre par moi-même. Voir ma réponse et vérifier si cela fonctionne pour vous.
OriginalL'auteur user1594757 | 2013-11-11
Vous devez vous connecter pour publier un commentaire.
J'ai eu un problème similaire.
Voici la documentation de la configuration de la /URL signalr.
Cependant, ma solution diffère de la documentation.
Au lieu de changer la norme
app.MapSignalR()
, j'ai changé mon code client à utiliser/MyApp/signalr
. Voici le code où "MyApp" est le répertoire virtuel de mon application web.J'ai essayé dans l'autre sens (modifier la MapSignalR à l' /signalr chemin) mais cela ne fonctionne pas et la négociation a toujours acheminés vers /MyApp/signalr/négocier.
OriginalL'auteur styfle
J'ai eu le même problème lors de site web avec signalr est pas en cours d'exécution en tant que racine du site. Ci-dessous la solution a fonctionné pour moi. au lieu d'utiliser
/signalr
, utilisez../signalr
. il fonctionne avec n'importe quel nom de site dossier. pas codé en dur le nom de 'MyApp'var connection = $.hubConnection('../signalr', {useDefaultPath: false});
OriginalL'auteur Jyotheeswar Reddy
Eu le même problème. sites web fonctionnant comme des répertoires virtuels de la racine du site. Pour une raison quelconque préfixant avec .. /../signalr ne fonctionne pas, mais ./signalr fait.
Mon exemple de code:
OriginalL'auteur YY_Minneapolis
Probablement que vous avez ajouté MapSignalR() dans votre Application (https://example.com/private/).
Si vous le souhaitez sur la racine, puis procédez à la configuration de votre Site web (https://example.com/)
OriginalL'auteur Gustavo Armenta