Noel Bj Kim's suggested answer works, except for this line, is problematic:
ServiceEndpoint endpoint = hostDesc.Endpoints.Find(ctx.IncomingMessageHeaders.To);
, WCF IIS Uri, , - "localhost", (, "pc1.domain1.net" ), "localhost".
, , , , . http://localhost/Service1 http://pc1.domain.net/Service1.
private ServiceEndpoint FindServiceEndpointBySchemeAndQuery(Uri uri)
{
foreach (var endpoint in OperationContext.Current.Host.Description.Endpoints)
{
if (endpoint.Address.Uri.Scheme == uri.Scheme
&& endpoint.Address.Uri.PathAndQuery == uri.PathAndQuery)
{
return endpoint;
}
}
return null;
}
:
ServiceEndpoint endpoint = FindServiceEndpointBySchemeAndQuery(ctx.IncomingMessageHeaders.To);