日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
WCF獲取客戶端IP應(yīng)用經(jīng)驗(yàn)分享

WCF開發(fā)工具的應(yīng)用范圍比較廣泛,可以幫助開發(fā)人員輕松的實(shí)現(xiàn)各種特定的功能需求。在這里我們可以了解到WCF獲取客戶端IP的相關(guān)操作方法,以此來進(jìn)一步對這一開發(fā)工具有一個(gè)深入的認(rèn)識。#t#

在公司的一個(gè)項(xiàng)目里面,使用WCF做通訊,里面需要取得使用WCF做客戶端的IP,在服務(wù)器上做進(jìn)一步的處理,但是讓人很失望的是WCF 3.0 里面并不能支持這個(gè)功能。
還好,微軟在3.5的新版WCF中提供了這個(gè)方法。

不說廢話,直接看如何實(shí)現(xiàn)WCF獲取客戶端IP。簡單定義一個(gè)服務(wù):

 
 
 
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Runtime.Serialization;  
  5. using System.ServiceModel;  
  6. using System.Text;  
  7. namespace ClientInfoSample  
  8. {  
  9. [ServiceContract]  
  10. public interface IService  
  11. {  
  12. [OperationContract]  
  13. string GetData(string value);  
  14. }  

在建立通道之后按照可以實(shí)現(xiàn)WCF獲取客戶端IP:

 
 
 
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Runtime.Serialization;  
  5. using System.ServiceModel;  
  6. using System.Text;  
  7. using System.ServiceModel.Channels;   
  8. namespace ClientInfoSample  
  9. {  
  10. public class MyService : IService  
  11. {  
  12. public string GetData(string value)  
  13. {  
  14. OperationContext context = OperationContext.Current;  
  15. MessageProperties essageProperties = 
    context.IncomingMessageProperties;  
  16. RemoteEndpointMessageProperty endpointProperty =  
  17. messageProperties [RemoteEndpointMessageProperty.Name]  
  18. as RemoteEndpointMessageProperty;  
  19. return string.Format("Hello {0}! Your IP address is {1} 
    and your port is {2}", value, endpointProperty.Address, 
    endpointProperty.Port);  
  20. }  
  21. }  
  22. }  
  23. config:  
  24. < ?xml version="1.0" encoding="utf-8" ?> 
  25. < configuration> 
  26. < system.web> 
  27. < compilation debug="true" /> 
  28. < /system.web> 
  29. < system.serviceModel> 
  30. < services> 
  31. < service name="ClientInfoSample.MyService" 
    behaviorConfiguration="ClientInfoSample.MyServiceBehavior"> 
  32. < host> 
  33. < baseAddresses> 
  34. < add baseAddress = "http://localhost:8731/
    Design_Time_Addresses/ClientInfoSample/MyService/" /> 
  35. < /baseAddresses> 
  36. < /host> 
  37. < endpoint address ="" binding="wsHttpBinding" 
    contract="ClientInfoSample.IService"> 
  38. < identity> 
  39. < dns value="localhost"/> 
  40. < /identity> 
  41. < /endpoint> 
  42. < endpoint address="mex" binding="mexHttpBinding" 
    contract="IMetadataExchange"/> 
  43. < /service> 
  44. < /services> 
  45. < behaviors> 
  46. < serviceBehaviors> 
  47. < behavior name="ClientInfoSample.MyServiceBehavior"> 
  48. < serviceMetadata httpGetEnabled="True"/> 
  49. < serviceDebug includeExceptionDetailInFaults="False" /> 
  50. < /behavior> 
  51. < /serviceBehaviors> 
  52. < /behaviors> 
  53. < /system.serviceModel> 
  54. < /configuration> 

以上就是對WCF獲取客戶端IP的相關(guān)介紹。


當(dāng)前文章:WCF獲取客戶端IP應(yīng)用經(jīng)驗(yàn)分享
鏈接地址:http://www.dlmjj.cn/article/djcejjh.html