WCF 4休息获取请求的IP?

Luk*_*ina 21 c# rest wcf tcp

嘿,你如何获得发出请求的人的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??
        }
Run Code Online (Sandbox Code Playgroud)

谢谢!

Lad*_*nka 38

在AddNewUser内部使用以下代码段:

OperationContext context = OperationContext.Current;
MessageProperties messageProperties = context.IncomingMessageProperties;
RemoteEndpointMessageProperty endpointProperty =
  messageProperties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;
Run Code Online (Sandbox Code Playgroud)

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