Gibt es eine Möglichkeit, wie ich den Ursprungswert der Anforderung im API-Controller abrufen kann, wenn ich einen API-Endpunkt mit Ajax-Aufruf aufrufe?
Zum Beispiel rufe ich über www.xyz.com an:
$http({
url: 'http://myazurewebsite.azurewebsites.net/api/ValueCall/CheckForExistingValuers',
method: "GET",
params: { loanID: $scope.loanIdPopup }
}).success(function (data) {
}).error(function (data) {
});
Wie kann ich auf der API-Seite den Wert von www.xyz.com ermitteln?
CORS funktioniert ordnungsgemäß.
Was Sie suchen, ist wahrscheinlich der Origin-Header. Alle modernen Browser senden es mit, wenn Sie domänenübergreifende Anfragen stellen.
In einem ApiController
holen Sie es so:
if (Request.Headers.Contains("Origin"))
{
var values = Request.Headers.GetValues("Origin");
// Do stuff with the values... probably .FirstOrDefault()
}
Sie können es über die aktuelle Sammlung von HTTP-Anforderungsheadern aus den API-Methoden abrufen:
IEnumerable<string> originValues;
Request.Headers.TryGetValue("Origin", out originValues)