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

using System;
using System.ServiceModel;
using System.ServiceModel.Channels;

namespace WcfService3
{
    // 注意: 如果更改此处的类名“Service1”,也必须更新 Web.config 和关联的 .svc 文件中对“Service1”的引用。
    public class Service1 : IService1
    {
        public string GetData(int value)
        {
            //提供方法执行的上下文环境
            OperationContext context = OperationContext.Current;
            //获取传进的消息属性
            MessageProperties properties = context.IncomingMessageProperties;
            //获取消息发送的远程终结点IP和端口
            RemoteEndpointMessageProperty endpoint = properties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;
            Console.WriteLine(string.Format("Hello {0},You are  from {1}:{2}", value, endpoint.Address, endpoint.Port));
            return string.Format("Hello {0},You are  from {1}:{2}", value, endpoint.Address, endpoint.Port);

        }

        public CompositeType GetDataUsingDataContract(CompositeType composite)
        {
            if (composite.BoolValue)
            {
                composite.StringValue += "Suffix";
            }
            return composite;
        }
    }
}

你可能感兴趣的:(学习总结,wcf,properties,service,string,class)