Ich schreibe einen WebService und möchte die URL herausfinden, mit der mein WebMethod aufgerufen wurde.
Ok..i wird es im Detail erklären.
Angenommen, ich habe einen Webservice (http: //myWebservice/HashGenerator/HashValidator.asmx) wie folgt
%Vor%Bitte senden Sie mir eine Lösung dafür.
Ihre Frage ist nicht sehr klar. Wenn Sie versuchen, die URL der ASPX-Seite abzurufen, die den Webdienst aufruft, können Sie dies nicht tun, es sei denn, Sie übergeben es als Argument an Ihre Webmethode oder an einen benutzerdefinierten HTTP-Header. Hier ist ein Beispiel für einen Anruf:
%Vor%und Ihre Web-Service-Methode sieht jetzt so aus:
%Vor%EDIT: Ich habe gerade gemerkt, dass das, was ich mache, eigentlich überflüssig ist, da die Ajax-Anfrage bereits eine Kopfzeile namens Referer enthält. Ich lasse den Code unten, wie es noch gültig ist, wenn Sie einen benutzerdefinierten Header übergeben und dann auf dem Server zugreifen möchten.
%Vor%Meine Arbeit besteht darin, allen Web-Service-Aufrufen einen benutzerdefinierten Header hinzuzufügen (mit Jquery .ajax). Der Header enthält die URL der aufrufenden Seite:
%Vor%Dann auf dem Server erhalten Sie den benutzerdefinierten Header innerhalb Ihrer Web-Methode:
%Vor%Der Hauptgrund, warum ich die URL der Aufruferseite haben möchte, ist die Verwendung von querystring-Parametern für das Debugging. Die folgende Zeile enthält alle Abfragezeichenfolgenparameter von der Seite, die den Web-Service aufgerufen hat.
%Vor%Tags und Links c# asp.net web-services