Ponieważ Google przeniesie Cię do tego postu, szukając C# Web API Referrertutaj jest wiele: Web APIwykorzystuje inny typ Requestod normalnego MVC Requesto nazwie HttpRequestMessage, która nie obejmuje UrlReferrer. Ponieważ zwykłe Web APIżądanie nie zawiera tych informacji, jeśli naprawdę ich potrzebujesz, musisz nakłonić klientów do zrobienia wszystkiego, aby je uwzględnić. Chociaż możesz uczynić to częścią swojego API Object, lepszym sposobem jest użycie Headers.
Po pierwsze, możesz rozszerzyć, HttpRequestMessageaby udostępnić UrlReferrer()metodę:
public static string UrlReferrer(this HttpRequestMessage request)
{
return request.Headers.Referrer == null ? "unknown" : request.Headers.Referrer.AbsoluteUri;
}
Następnie klienci muszą ustawić Referrer Headerdo swoich API Request:
// Microsoft.AspNet.WebApi.Client
client.DefaultRequestHeaders.Referrer = new Uri(url);
A teraz Web API Requestzawiera dane strony odsyłającej, do których możesz uzyskać dostęp w ten sposób z Web API:
Request.UrlReferrer();