In der Datei Global.asax.cs habe ich den Code, der den domänenübergreifenden Zugriff ermöglicht.Wie kann die anfragende Domain-URL im Ruhezustand abgerufen werden?
protected void Application_BeginRequest(object sender, EventArgs e)
{
HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
HttpContext.Current.Response.Cache.SetNoStore();
if(// The requesting URL == "http://theproperdomain.com"){
EnableCrossDmainAjaxCall();
}
}
private void EnableCrossDmainAjaxCall()
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept");
HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000");
HttpContext.Current.Response.End();
}
}
Aber vor meiner Ruhe Projekt Zugang Cross-Domain erlaubt, muss zunächst prüfen, ob die anfragende Domain auf die richtige Domäne entspricht. d.h .: „http://theproperdomain.com“
Ich habe diesen Code:
string properdomain = HttpContext.Current.Request.Url.AbsoluteUri;
Aber ich bin nicht sicher, ob es das Beste zu verwenden ist.
Bitte schlagen Sie Ihre bessere Idee vor.
bearbeiten
Mein Domain-Server ist http://theproperdomain.com
wo meine Ruhe Dienste befindet.
Ich werde diesen Domain-Namen von meinem Webconfig abholen und mit dem aktuell zugreifenden Client vergleichen. Ich muss dies tun, weil ich nur eine Domäne für "domainübergreifenden Zugriff" zulassen möchte.
Sie möchten die Referrer-Domain oder die Domain abrufen, an die die aktuelle Anfrage gesendet wurde? – Ramesh