SignalR: Fehler bei der Verhandlungsanforderung: undefiniert

Ich habe versucht, einen JavaScript-Signal-R-Client gegen einen selbst gehosteten Owin-Server zum Laufen zu bringen. Und stoße auf dieses Problem. Ich habe beide Proxys und keine Proxy-Methoden mit dem gleichen Ergebnis und Fehler "SignalR: Fehler während der Verhandlungsanfrage: undefiniert" ausprobiert.

Ich konnte das domänenübergreifende Beispiel ohne Probleme ausführen und kann nicht herausfinden, was ich falsch mache. Hat jemand eine Idee?

Die Browserkonsole ruft Protokolle ab, um einen Verhandlungsversuch zu starten, und ich erhalte den Fehler.

Server / Hub

namespace SignalROwinHost
{
    class Program
    {
        static void Main(string[] args)
        {
            string url = "http://localhost:9000/";
            using (WebApplication.Start<Startup>(url))
            {
                Console.WriteLine("Server running on {0}", url);
                Console.ReadLine();
            }
        }

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

        }

        public class ChatHub : Hub
        {
            public void Send(string message)
            {
                Clients.All.send(message);
            }
        }
    }
}

Javascript (kein Proxy):

<script type="text/javascript">
    $(function () {
        var connection = $.hubConnection('http://localhost:9000');
        var chat = connection.createHubProxy('chatHub');
        chat.on('send', function (message) {
            $('#chat').html($('#chat').html() + "\r\n" + message);
        });
        connection.logging = true;
        connection.start().done(function () {
            alert("Connection Complete");
            $('#sendBtn').click(function () {
                chat.invoke('send', $('#message').val());
            });
        }).fail(function (param) { alert(param); });
    });
</script>

Javascript (Proxy):

<script src="http://localhost:9000/signalr/hubs" type="text/javascript"></script>
      <script type="text/javascript">
        $(function () {
            var chat = $.connection.chatHub;
            chat.client.send = function (message) {
                alert(message);
            };

            $.connection.hub.logging = true;

            $.connection.hub.url = "http://localhost:9000/signalr";

            $.connection.hub.start()
                .done(function (param) {
                    chat.server.send("Connected");
                })
                .fail(function (param) {
                    alert("Could not Connect: " + param);
                });
        });

  </script>

Antworten auf die Frage(1)

Ihre Antwort auf die Frage