日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
WCF終結(jié)點(diǎn)地址基本內(nèi)容概述

WCF開發(fā)工具是一款功能強(qiáng)大的開發(fā)插件,其應(yīng)用技術(shù)也比較繁多,可以靈活的應(yīng)用在開發(fā)才過程中。其中,在WCF中提供了基址技術(shù),這使的我們在指定WCF終結(jié)點(diǎn)地址時(shí)可以酌情選用相對地址或者絕對地址,指定絕對地址的方法是在終結(jié)點(diǎn)定義中提供完全限定的地址,如下代碼所示:

創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)太和,十多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220

 
 
 
  1. < service name="TerryLee.WCFAddressing.Service.CalculatorService" 
  2. behaviorConfiguration="calculatorBehavior"> 
  3. < endpoint address="http://localhost:8887/CalculatorService" 
  4. binding ="basicHttpBinding" 
  5. contract="TerryLee.WCFAddressing.Contract.ICalculator"> 
  6. < /endpoint> 
  7. < /service> 

使用絕對地址固然簡單,但是如果我們的服務(wù)需要公開多個(gè)終結(jié)點(diǎn),而這些WCF終結(jié)點(diǎn)地址又具有相同的基地址時(shí),也許相對地址是更好的選擇。在創(chuàng)建服務(wù)宿主對象時(shí),提供一個(gè)基地址,如下代碼所示:

 
 
 
  1. using (ServiceHost calculatorServiceHost =  
  2. new ServiceHost(typeof(CalculatorService),  
  3. new Uri("http://localhost:8887/CalculatorService")))  
  4. {  
  5. calculatorServiceHost.Opened += delegate  
  6. {  
  7. Console.WriteLine("Service begin to listen via the Address:{0}",  
  8. calculatorServiceHost.BaseAddresses[0].ToString());  
  9. };  
  10. calculatorServiceHost.Open();  
  11. Console.Read();  

又或者同時(shí)在配置文件中指定基地址,這樣就無須在每個(gè)終結(jié)點(diǎn)中指定絕對地址了,如下代碼所示:

 
 
 
  1. < service name="TerryLee.WCFAddressing.Service.CalculatorService" 
  2. behaviorConfiguration="calculatorBehavior"> 
  3. < host> 
  4. < baseAddresses> 
  5. < add baseAddress="http://localhost:8887/Calculator"/> 
  6. < /baseAddresses> 
  7. < /host> 
  8. < endpoint address="myservice1" 
  9. binding ="basicHttpBinding" 
  10. contract="TerryLee.WCFAddressing.Contract.ICalculator"> 
  11. < /endpoint> 
  12. < endpoint address="myservice2" 
  13. binding ="wsHttpBinding" 
  14. contract="TerryLee.WCFAddressing.Contract.ICalculator"> 
  15. < /endpoint> 
  16. < /service> 

但請注意,基址技術(shù)是為我們在配置終結(jié)點(diǎn)時(shí)提供了方便,客戶端對它是毫無所知的,客戶端看到的仍然是絕對地址,在打開服務(wù)宿主時(shí),它會匹配所有的相對地址,從而為每個(gè)終結(jié)點(diǎn)提供相應(yīng)的絕對地址,如上面的示例,可以在WSDL中看到:

 
 
 
  1. < wsdl:service name="CalculatorService"> 
  2. < wsdl:port name="BasicHttpBinding_ICalculator" 
    binding="tns:BasicHttpBinding_ICalculator"> 
  3. < soap:address location="http://localhost:8887/Calculator/myservice1" /> 
  4. < /wsdl:port> 
  5. < wsdl:port name="WSHttpBinding_ICalculator" 
    binding="tns:WSHttpBinding_ICalculator"> 
  6. < soap12:address location="http://localhost:8887/Calculator/myservice2" /> 
  7. < wsa10:EndpointReference> 
  8. < wsa10:Address>http://localhost:8887/Calculator/myservice2< /wsa10:Address> 
  9. < Identity xmlns="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity"> 
  10. < Upn>TerryLee-PC\TerryLee< /Upn> 
  11. < /Identity> 
  12. < /wsa10:EndpointReference> 
  13. < /wsdl:port> 
  14. < /wsdl:service> 

如果在指定了基地址的情況下,有以下幾種情況:指定相對地址為空,WCF終結(jié)點(diǎn)地址與基地址相同;指定相對地址不為空,追加相對地址到基地址上;指定一個(gè)絕對地址,基地址不起作用,終結(jié)點(diǎn)地址仍然為指定的絕對地址;指定一個(gè)絕對地址和一個(gè)與基地址不同的綁定,基地址不起作用。現(xiàn)在有這樣一段配置信息:

 
 
 
  1. < service name="TerryLee.WCFAddressing.Service.CalculatorService" 
  2. behaviorConfiguration="calculatorBehavior"> 
  3. < host> 
  4. < baseAddresses> 
  5. < add baseAddress="http://localhost:8887/Calculator"/> 
  6. < /baseAddresses> 
  7. < /host> 
  8. < endpoint address="" 
  9. binding ="wsHttpBinding" 
  10. contract="TerryLee.WCFAddressing.Contract.ICalculator"> 
  11. < /endpoint> 
  12. < endpoint address="myservice2" 
  13. binding ="wsHttpBinding" 
  14. contract="TerryLee.WCFAddressing.Contract.ICalculator"> 
  15. < /endpoint> 
  16. < endpoint address="http://localhost:8886/CalculatorService" 
  17. binding ="wsHttpBinding" 
  18. contract="TerryLee.WCFAddressing.Contract.ICalculator"> 
  19. < /endpoint> 
  20. < endpoint address="net.tcp://localhost:8885/Calculator" 
  21. binding ="netTcpBinding" 
  22. contract="TerryLee.WCFAddressing.Contract.ICalculator"> 
  23. < /endpoint> 
  24. < /service> 

可以在ServiceHost啟動后,輸出所有的WCF終結(jié)點(diǎn)地址和綁定信息,如下代碼:

 
 
 
  1. ServiceDescription desc = calculatorServiceHost.Description;  
  2. foreach (ServiceEndpoint endpoint in desc.Endpoints)  
  3. {  
  4. Console.WriteLine("Endpoint - address: {0}", endpoint.Address);  
  5. Console.WriteLine(" binding: {0}", endpoint.Binding.Name);  
  6. Console.WriteLine(" contract: {0}", endpoint.Contract.Name);  

分享題目:WCF終結(jié)點(diǎn)地址基本內(nèi)容概述
本文鏈接:http://www.5511xx.com/article/dpcijhh.html