WCF4 Rest如何获得请求的IP地址?

标签: WCF WCF4 C#
发布时间: 2017/8/30 17:00:11
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

WCF怎么能得到一个人的IP地址呢?

    [ServiceContract]    
    [AspNetCompatibilityRequirements(RequirementsMode = 
    AspNetCompatibilityRequirementsMode.Required)]    
    [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]        
    public partial class UsersService
    {                          
        [WebInvoke(UriTemplate = "", Method = "PUT")]        
        public User AddNewUser(User newUser)
        {            
            // code goes here including GETTING AN IP??
        }


解决方法 1:

在AddNewUser中使用下面的代码片段:

OperationContext context = OperationContext.Current;
MessageProperties messageProperties = context.IncomingMessageProperties;
RemoteEndpointMessageProperty endpointProperty =
  messageProperties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;

RemoteEndpointMessageProperty实例提供IP地址和IP端口属性.

赞助商