Verbindung zum Signal Hub

Ich habe einen einfachen SignalR-Hub in einer Konsolenanwendung erstellt:

class Program
{
    static void Main(string[] args) 
    {    
        using (WebApp.Start<Startup>("http://localhost:1968"))
        {
            Console.WriteLine("Server running!");        
            Console.ReadLine();    
        } 
    } 
}

public static class UserHandler
{
    public static HashSet<string> ConnectedIds = new HashSet<string>();
}

[HubName("echo")]
public class EchoHub : Hub 
{ 
    public void Say(string message) 
    { 
        Trace.WriteLine("hub: "+message);
        Clients.All.AddMessage(message);
    }

    public override Task OnConnected()
    {
        UserHandler.ConnectedIds.Add(Context.ConnectionId);
        return base.OnConnected();
    }

    public override Task OnDisconnected()
    {
        UserHandler.ConnectedIds.Remove(Context.ConnectionId);
        return base.OnDisconnected();
    }
}

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

Wenn ich versuche, dies über eine Silverlight-App zu verbinden, ist dies erfolgreich:

static Microsoft.AspNet.SignalR.Client.HubConnection signalR { get; set; }
public static Microsoft.AspNet.SignalR.Client.IHubProxy signalRhub { get; set; }

public static void StartSignalR()
{
    var url = "http://localhost:1968";
    signalR = new Microsoft.AspNet.SignalR.Client.HubConnection(url);
    signalR.Received += signalR_Received;
    signalRhub = signalR.CreateHubProxy("echo");
    signalR.Start().Wait();
    signalRhub.Invoke("Say", "hub invoked");
}

Mein nächster Schritt besteht darin, den SignalR-Hub über jquery zu verbinden:

<script src="../Scripts/jquery-1.6.4.js"></script>
<script src="../Scripts/jquery.signalR-2.1.0.js"></script>
<script>
    $(function ()
    {
        var connection = $.hubConnection("http://localhost:1968");
        connection.start()
            .done(function () {
                console.log('connected');
                connection.send("success?");
            })
            .fail(function (a) {
                console.log('not connected'+a);
            });
    });
</script>

Wenn ich versuche, dieses Skript auszuführen, wird der Fehler angezeigt:

"XMLHttpRequest cannot load localhost:1968/signalr/negotiate?clientProtocol=1.4&_=1404978593482. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin <code>http://localhost:55282</code> is therefore not allowed access."

Warum kann ich von meiner Silverlight-Seite aus eine Verbindung zum Hub herstellen (gehostet in localhost: 3926)?
und schlägt es fehl, wenn ich das jquery-Skript ausführe (gehostet in localhost: 55282)?

Was kann ich tun, um eine funktionierende Verbindung zwischen meinem jQuery- und SignalR-Hub herzustellen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage