进行WCF地址代码进行说明

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地址具体代码如下:

 
 
  1. 服务契约
  2. [ServiceContract(Namespace = "http://www.cnblogs.com/frank_xl/")]
  3. public interface IWCFService
  4. {
  5. //操作契约
  6. [OperationContract]
  7. string SayHelloToUser(string name);
  8. }
  9. //服务类,继承接口。实现服务契约定义的操作
  10. public class WCFService : IWCFService
  11. {
  12. //实现接口定义的方法
  13. public string SayHelloToUser(string name)
  14. {
  15. //提供方法执行的上下文环境
  16. OperationContext context = OperationContext.Current;
  17. //获取传进的消息属性
  18. MessageProperties properties = context.IncomingMessageProperties;
  19. //获取消息发送的远程终结点IP和端口
  20. RemoteEndpointMessageProperty endpoint = properties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;
  21. Console.WriteLine(string.Format("Hello {0},You arefrom {1}:{2}", name, endpoint.Address,endpoint.Port));
  22. return string.Format("Hello {0},You arefrom {1}:{2}", name, endpoint.Address, endpoint.Port);
  23. }
  24. }

当前标题:进行WCF地址代码进行说明
转载来源:http://www.mswzjz.cn/qtweb/news5/7205.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能