WCF在实际应用中,可以发现它能够帮助我们实现许多功能需求。在这里我们就为大家详细讲解一下有关WCF获取客户端IP的实现方法。#t#
在公司的一个项目里面,使用WCF做通讯,里面需要取得使用WCF获取客户端IP,在服务器上做进一步的处理,但是让人很失望的是WCF 3.0 里面并不能支持这个功能。还好,微软在3.5的新版WCF中提供了这个方法。
不说废话,直接看如何实现。
简单定义一个WCF获取客户端IP的服务:
在建立通道之后按照可以实现WCF获取客户端IP:
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Runtime.Serialization;
- using System.ServiceModel;
- using System.Text;
- using System.ServiceModel.Channels;
- namespace ClientInfoSample
- {
- public class MyService : IService
- {
- public string GetData(string value)
- {
- OperationContext context =
OperationContext.Current;- MessageProperties essageProperties
= context.IncomingMessageProperties;- RemoteEndpointMessageProperty endpointProperty =
- messageProperties [RemoteEndpoint
MessageProperty.Name]- as RemoteEndpointMessageProperty;
- return string.Format("Hello {0}!
Your IP address is {1} and your
port is {2}", value, endpointProperty.
Address, endpointProperty.Port);- }
- }
- }
- config:
behaviorConfiguration="ClientInfoSample.
MyServiceBehavior">Design_Time_Addresses/ClientInfoSample/MyService/" /> contract="ClientInfoSample.IService"> "mexHttpBinding" contract="IMetadataExchange"/> .MyServiceBehavior"> DetailInFaults="False" />
以上就是有关WCF获取客户端IP的实现方法。