快速利用配置文件啟用WCF元數據交換
WCF還是比較常用的,于是我研究了一下WCF元數據交換,在這里拿出來和大家分享一下,希望對大家有用。我們的都知道服務有兩種方案可以發布自己的元數據。一種是基于HTTP-GET協議提供元數據,另一種則是后面將要討論的使用專門的終結點的方式。
#T#WCF能夠為服務自動提供基于HTTP-GET 的元數據,但需要顯式地添加服務行為(Behavior)以支持這一功能。本書后面的章節會介紹行為的相關知識。現在,我們只需要知道行為屬于服務的本地特性,例如是否需要基于HTTP-GET交換元數據,就是一種服務行為。我們可以通過編程方式或管理方式添加行為。演示的宿主應用程序的配置文件中,所有引用了定制<behavior>配置節的托管服務都支持基于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托管無關,即使使用自托管,我們也可以使用瀏覽器定位服務地址。
圖:服務的確認頁面