WCF地址能否获取客户端地址IP信息,好多人都遇到过,我们传统的机遇的网络应用和 Web Service都提供了获取客户端地址的信息的实现机制。下面进行介绍说明。
10年积累的做网站、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有竞秀免费网站建设让你可以放心的选择与我们合作。
WCF地址主要使用是.NET3.5里的服务端上下文的消息实例的RemoteEndpointMessageProperty属性,获取客户端地址信息。但是限制的绑定是HTTP、TCP相关的绑定协议。网络通信的底层机制来说,数据包如果经由TCP传输,IP数据包应该包含地址和端口信息,WCF地址这个我们网络编程也可以理解。但是WCF获取客户端地址信息早期却没提供相应的实现。其实按照道理来说没什么难度。只是多做个数据包的解析工作,然后把地址信息包装即可。#t#
WCF地址示例代码:
这里给出服务端获取客户端IP地址信息的示例代码分析和实现过程,这里的测试主要是针对HTTP、TCP相关的协议做了4个测试。NamePipeBinding等协议不做测试了,本地协议不需要IP和端口。我们主要测试的是几个主要的协议,来验证以上的结论。
服务端:
主要是对RemoteEndpointMessageProperty属性的使用来获取地址、端口信息。WCF地址具体代码如下:
- 服务契约
- [ServiceContract(Namespace = "http://www.cnblogs.com/frank_xl/")]
- public interface IWCFService
- {
- //操作契约
- [OperationContract]
- string SayHelloToUser(string name);
- }
- //服务类,继承接口。实现服务契约定义的操作
- public class WCFService : IWCFService
- {
- //实现接口定义的方法
- public string SayHelloToUser(string name)
- {
- //提供方法执行的上下文环境
- OperationContext context = OperationContext.Current;
- //获取传进的消息属性
- MessageProperties properties = context.IncomingMessageProperties;
- //获取消息发送的远程终结点IP和端口
- RemoteEndpointMessageProperty endpoint = properties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;
- Console.WriteLine(string.Format("Hello {0},You arefrom {1}:{2}", name, endpoint.Address,endpoint.Port));
- return string.Format("Hello {0},You arefrom {1}:{2}", name, endpoint.Address, endpoint.Port);
- }
- }
当前标题:进行WCF地址代码进行说明
转载来源:http://www.mswzjz.cn/qtweb/news5/7205.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能