0

我在 WCF 中实现了一个 Web 服务。此服务只会被单个客户端调用,即具有静态 IP 地址的站点。我想实现简单的安全性,以验证对服务的所有调用仅在来自此特定静态 IP 时才有效。

做这个的最好方式是什么?

4

1 回答 1

1

在 .NET 3.5 上,您可以在服务代码中执行此操作以找出调用者的 IP 地址:

public void YourServiceMethod(string value)
{
   OperationContext context = OperationContext.Current;

   MessageProperties messageProperties = context.IncomingMessageProperties;

   RemoteEndpointMessageProperty endpointProperty =
       messageProperties[RemoteEndpointMessageProperty.Name]
       as RemoteEndpointMessageProperty;

   string clientIPAddress = endpointProperty.Address;
   int clientPort = endpointProperty.Port;
}

最初见于 Keyvan Nayyeri 的博客文章

马克

于 2009-09-08T05:50:01.560 回答