WCF元數據交換應用技巧分享
WCF開發工具已經出現,就被大多數開發人員所關注,它獨特的功能特點也使其立即成為了開發領域中一個重要的應用工具。在這里我們就一起來了解一下有關WCF元數據交換的相關操作技巧。我們的都知道服務有兩種方案可以發布自己的元數據。一種是基于HTTP-GET協議提供元數據,另一種則是后面將要討論的使用專門的終結點的方式。#t#
WCF能夠為服務自動提供基于HTTP-GET 的元數據,但需要顯式地添加服務行為(Behavior)以支持這一功能。本書后面的章節會介紹行為的相關知識。現在,我們只需要知道行為屬于服務的本地特性,例如是否需要基于HTTP-GET交換元數據,就是一種服務行為。我們可以通過編程方式或管理方式添加行為。演示的宿主應用程序的配置文件中,所有引用了定制配置節的托管服務都支持基于HTTP-GET協議實現元數據交換。為了使用HTTP-GET,客戶端使用的地址需要注冊服務的HTTP基地址。我們也可以在行為中指定一個外部URL以達到同樣的目的。
使用配制文件啟用WCF元數據交換行為
- < system.serviceModel>
- < services>
- < service name = "MyService" behaviorConfiguration = "MEXGET">
- < host>
- < baseAddresses>
- < add baseAddress = "http://localhost:8000/"/>
- < /baseAddresses>
- < /host>
- ...
- < /service>
- < service name = "MyOtherService" behaviorConfiguration = "MEXGET">
- < host>
- < baseAddresses>
- < add baseAddress = "http://localhost:8001/"/>
- < /baseAddresses>
- < /host>
- ...
- < /service>
- < /services>
- < behaviors>
- < serviceBehaviors>
- < behavior name = "MEXGET">
- < serviceMetadata httpGetEnabled = "true"/>
- < /behavior>
- < /serviceBehaviors>
- < /behaviors>
- < /system.serviceModel>
一旦啟用了基于HTTP-GET的WCF元數據交換,在瀏覽器中就可以通過HTTP基地址(如果存在)進行訪問。如果一切正確,就會獲得一個確認頁面,如圖所示,告知開發者已經成功托管了服務。確認頁面與IIS托管無關,即使使用自托管,我們也可以使用瀏覽器定位服務地址。