WCF, кто звонит? IIS самостоятельно размещается на нескольких веб-сайтах, звонят друг другу - PullRequest
1 голос
/ 03 марта 2011

У меня есть служба WCF, размещенная на веб-сайте. У меня есть многократные привязки на том же сайте. Каждый веб-сайт может вызывать службу WCF на другом сайте.

Из-за этого конечная точка, которую использует клиент, является динамическим адресом.

Q: Можно ли узнать, какой адрес использует вызывающий абонент, когда он достигает хоста?

Я ищу что-то похожее на следующее, не отправляя его в качестве параметра.

HttpContext.Current.Request.ServerVariables["SERVER_NAME"]

Пример клиента

// The endpoint being called is - 
// http://www.helloworld.com/Services/EchoService.svc for example.  
EchoServiceClient client = new EchoServiceClient("WSHttpBinding_IEchoService", GetEndpoint("EchoService"));
litResponse.Text = client.Echo();
client.Close();

Пример хоста

public class EchoService : IEchoService
{
    public string Echo()
    {
        return "Echo: " + {something like WCF.Caller.EndPoint.Address};
    }
}

Вывод похож на

Echo: http://www.helloworld.com

1 Ответ

1 голос
/ 03 марта 2011

Ответ:

System.ServiceModel.OperationContext.Current.IncomingMessageHeaders.To

Возвращает:

http://www.helloworld.com/Services/EchoService.svc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...