Да, это можно сделать. Прежде всего, необходимо добавить следующие строки в файл Web.config
<configuration>
<system.servicemodel>
<servicehostingenvironment aspnetcompatibilityenabled="true">
</servicehostingenvironment>
</system.servicemodel>
</configuration>
URL-адрес, который запрашивает метод Web Service известен как Referrer. URL-адрес реферера хранится в свойстве Current
объекта HttpContext
текущего запроса Http в процессе. Вы можете получить это значение с помощью следующего кода:
string referrer = System.Web.HttpContext.Current.Request.UrlReferrer.ToString();
Вы также можете использовать следующие:
string referrer = WebOperationContext.Current.IncomingRequest.Headers[System.Net.HttpRequestHeader.Referer];
Второй подход в основном читает Headers
запроса Http и выбирает для вас ценность.
спасибо. Здесь у меня проблема, что UrlReferrer имеет значение NULL. Вы знаете эту проблему? – Schakron
ОК, понял. Он был пустым, потому что вызывал службу напрямую через браузер, а не из приложения. Это имеет смысл. спасибо – Schakron