2017-02-21 4 views
0

J'ai une application de chat simple qui fonctionne bien localement, mais le SignalR renvoie une erreur de serveur interne à distance.SignalR Error 500 sur le serveur - asp.net

Le script qui jette l'erreur ressemble à ceci:

http://mydomainname.com/signalr/negotiate?clientProtocol=1.5&connectionData ...

Voici le journal: enter image description here

Je l'ai regardé d'autres réponses sur un sujet similaire, mais aucun ne semble fonctionner pour moi. Voici les réponses auxquelles j'ai fait référence: SignalR Negotiate 404, SignalR Negotiate 404 on Subdomain.

Voici le code client:

$(function() { 
       // Reference the auto-generated proxy for the hub. 
       $.connection.hub.url = 'http://mydomainname.com/signalr'; 
       $.connection.hub.logging = true; 

       var chat = $.connection.chatHub; 

       var name = '<%= username%>' 
       // Create a function that the hub can call back to display messages. 
       chat.client.addNewMessageToPage = function (name, message) { 
        // Add the message to the page. 
        bootbox.alert({ 
         message: "<b>" + name + "</b>: " + message, 
        }); 
       }; 

       chat.client.sendMessage = function (name, message) { 
        // Add the message to the page. 
        $('#discussion').append('<li><strong>' + htmlEncode(name) 
         + '</strong>: ' + $('#message').val() + '</li>'); 
       }; 
       // Start the connection. 
       $.connection.hub.start().done(function() { 
        // code to append message omitted. 
       }); 
}); 

sur la navigation sur le lien d'erreur que je reçois une exception Cryptographic comme indiqué ici: SignalR CryptographicException on AzureWebsites. Y at-il une solution à ce problème? J'utilise asp.net 4.5 et SignalR 2. J'ai essayé beaucoup de choses et je ne sais pas pourquoi l'erreur interne du serveur existe. Toute aide est la bienvenue.

+0

Vous devez afficher les détails d'exception. 'Erreur de protocole: transport inconnu. 'Est normal car le serveur recherche le transport. Accédez à: http: // mydomainname.com/signalr/negotiate' et vous devriez obtenir 500. – Pawel

+0

@Pawel ah oui désolé, aurait dû inclure cela. Je reçois une exception cryptographique comme décrit ici: http://stackoverflow.com/questions/15393684/signalr-cryptographicexception-on-azurewebsites. Mais pas sûr de la bonne solution dans ce cas. – GenAsis

+0

Vous n'avez probablement pas configuré la machineKey. – Pawel

Répondre