WCF开发工具的应用范围比较广泛,可以帮助开发人员轻松的实现各种特定的功能需求。在这里我们可以了解到WCF获取客户端IP的相关操作方法,以此来进一步对这一开发工具有一个深入的认识。#t#

在公司的一个项目里面,使用WCF做通讯,里面需要取得使用WCF做客户端的IP,在服务器上做进一步的处理,但是让人很失望的是WCF 3.0 里面并不能支持这个功能。
 还好,微软在3.5的新版WCF中提供了这个方法。
不说废话,直接看如何实现WCF获取客户端IP。简单定义一个服务:
- using System;
 - using System.Collections.Generic;
 - using System.Linq;
 - using System.Runtime.Serialization;
 - using System.ServiceModel;
 - using System.Text;
 - namespace ClientInfoSample
 - {
 - [ServiceContract]
 - public interface IService
 - {
 - [OperationContract]
 - string GetData(string value);
 - }
 - }
 
在建立通道之后按照可以实现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 [RemoteEndpointMessageProperty.Name]
 - as RemoteEndpointMessageProperty;
 - return string.Format("Hello {0}! Your IP address is {1}
 
and your port is {2}", value, endpointProperty.Address,
endpointProperty.Port);- }
 - }
 - }
 - config:
 - < ?xml version="1.0" encoding="utf-8" ?>
 - < configuration>
 - < system.web>
 - < compilation debug="true" />
 - < /system.web>
 - < system.serviceModel>
 - < services>
 - < service name="ClientInfoSample.MyService"
 
behaviorConfiguration="ClientInfoSample.MyServiceBehavior">- < host>
 - < baseAddresses>
 - < add baseAddress = "http://localhost:8731/
 
Design_Time_Addresses/ClientInfoSample/MyService/" />- < /baseAddresses>
 - < /host>
 - < endpoint address ="" binding="wsHttpBinding"
 
contract="ClientInfoSample.IService">- < identity>
 - < dns value="localhost"/>
 - < /identity>
 - < /endpoint>
 - < endpoint address="mex" binding="mexHttpBinding"
 
contract="IMetadataExchange"/>- < /service>
 - < /services>
 - < behaviors>
 - < serviceBehaviors>
 - < behavior name="ClientInfoSample.MyServiceBehavior">
 - < serviceMetadata httpGetEnabled="True"/>
 - < serviceDebug includeExceptionDetailInFaults="False" />
 - < /behavior>
 - < /serviceBehaviors>
 - < /behaviors>
 - < /system.serviceModel>
 - < /configuration>
 
以上就是对WCF获取客户端IP的相关介绍。
                新闻标题:WCF获取客户端IP应用经验分享
                
                文章源于:http://www.csdahua.cn/qtweb/news7/383857.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网