在WCF服务中获取客户端的IP地址和端口号

版权声明

请尊重原创作品。转载请保持文章完整性,并以超链接形式注明原始作者“tingsking18”和主站点地址,方便其他朋友提问和指正。

  1. using System;  
  2. using System.ServiceModel;  
  3. using System.ServiceModel.Channels;  
  4.   
  5. namespace WcfService3  
  6. {  
  7.     // 注意: 如果更改此处的类名“Service1”,也必须更新 Web.config 和关联的 .svc 文件中对“Service1”的引用。  
  8.     public class Service1 : IService1  
  9.     {  
  10.         public string GetData(int value)  
  11.         {  
  12.             //提供方法执行的上下文环境  
  13.             OperationContext context = OperationContext.Current;  
  14.             //获取传进的消息属性  
  15.             MessageProperties properties = context.IncomingMessageProperties;  
  16.             //获取消息发送的远程终结点IP和端口  
  17.             RemoteEndpointMessageProperty endpoint = properties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;  
  18.             Console.WriteLine(string.Format("Hello {0},You are  from {1}:{2}", value, endpoint.Address, endpoint.Port));  
  19.             return string.Format("Hello {0},You are  from {1}:{2}", value, endpoint.Address, endpoint.Port);  
  20.   
  21.         }  
  22.   
  23.         public CompositeType GetDataUsingDataContract(CompositeType composite)  
  24.         {  
  25.             if (composite.BoolValue)  
  26.             {  
  27.                 composite.StringValue += "Suffix";  
  28.             }  
  29.             return composite;  
  30.         }  
  31.     }  
  32. }  
posted @ 2011-07-25 14:29  许明吉博客  阅读(934)  评论(0编辑  收藏  举报