Ich habe eine Signaler 2.0-Server, der die mehreren Domänen dienen soll .. Also müssen in meinem Server CORS aktivieren. Ich benutze iis7.5 als Webserver. aktivierte ich den CORS in Startup
Methode von meinem Projekt alsCross-Domain funktioniert nicht mit Signalrner 2.0
public void Configuration(IAppBuilder app)
{
app.Map("/signalr", map =>
{
// Setup the CORS middleware to run before SignalR.
// By default this will allow all origins. You can
// configure the set of origins and/or http verbs by
// providing a cors options with a different policy.
map.UseCors(CorsOptions.AllowAll);
var hubConfiguration = new HubConfiguration
{
// You can enable JSONP by uncommenting line below.
// JSONP requests are insecure but some older browsers (and some
// versions of IE) require JSONP to work cross domain
// EnableJSONP = true
};
// Run the SignalR pipeline. We're not using MapSignalR
// since this branch already runs under the "/signalr"
// path.
map.RunSignalR(hubConfiguration);
}
}
folgte Dieser Code kopieren und aus diesem Artikel eingefügt http://www.asp.net/signalr/overview/signalr-20/hubs-api/hubs-api-guide-javascript-client
ich ein localhost Projekt erstellt und versuche, signalr Server zu verbinden.
Aber ich erhalte den folgenden Fehler in Firefox
Cross-Origin-Anforderung blockiert: Die Same Origin Policy verweigert das die Remote-Ressource bei http://MyWebSite.com:8082/signalr/negotiate?connectionData=%5B%7B%22name%22%3A%22sahragostarhub%22%7D%5D&clientProtocol=1.3&_=1405622027746
Lesen Dies kann durch Bewegen der Ressource zu der gleichen Domäne oder die Aktivierung CORS fixiert werden . verhandeln
und diese Fehler in Chrom XMLHttpRequest nicht http://MyWebSite.com:8082/signalr/negotiate?connectionData=%5B%7B%22name%22%3A%22sahragostarhub%22%7D%5D&clientProtocol=1.3&_=1405622032883
laden kann. Kein 'Access-Control-Allow-Origin'-Header ist auf der angeforderten Ressource vorhanden. Origin '(My Client-Site-Adresse)' ist daher nicht erlaubt Zugang für
ich auch noch die folgenden Zeilen zu meinem web.config
<httpProtocol>
<customHeaders>
<clear />
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
Diese Änderung war auch nutzlos.
Nicht sicher, ob dies Ihnen helfen wird, aber in eckigen Anwendung mit "*" hat auch nicht funktioniert, mussten wir genaue Domain angeben. – epitka
Alles, was wir wissen ist, dass die Header nicht richtig eingestellt sind. Können Sie die Header zu Ihrer Frage hinzufügen? –
Ich empfehle, Fiddler zu verwenden, um die Header zu überprüfen, die Ihr Server tatsächlich sendet; ohne das ist es alles Rätselraten –