HOW TO:啟用 WCF 設定檔服務
更新:2007 年 11 月
本主題說明如何在 Web 伺服器上設定 ASP.NET 設定檔服務,以供使用 Windows Communication Foundation (WCF) 的用戶端使用。本主題也說明如何執行下列工作:
定義設定檔屬性。
透過設定檔服務提供設定檔屬性。
注意事項: 如果設定檔屬性中儲存任何敏感性資料,請透過 Secure Sockets Layer (SSL,藉由使用 HTTPS 通訊協定) 來存取設定檔服務。如需如何設定 SSL 的詳細資訊,請參閱 Microsoft 網站上的設定 Secure Sockets Layer (IIS 6.0 操作指南) (英文) 和在 IIS 7.0 中設定 Secure Sockets Layer (英文)。
設定 ASP.NET 設定檔服務做為 WCF 服務
如果您沒有 ASP.NET Web 應用程式,請建立一個。
將 WCF 服務檔案 (.svc) 的檔案加入到包含下列指示詞的網站,以參考 ProfileService 類別:
[Visual Basic] <%@ ServiceHost Language="VB" Service="System.Web.ApplicationServices.ProfileService" Factory="System.Web.ApplicationServices.ApplicationServicesHostFactory" %> <%@ ServiceHost Language="C#" Service="System.Web.ApplicationServices.ProfileService" Factory="System.Web.ApplicationServices.ApplicationServicesHostFactory" %>
儲存並關閉 .svc 檔案。
在 Web.config 檔案中進行下列組態設定,以設定服務:
定義 services 項目中的端點合約和 behaviors 項目中的服務行為。為了避免某些 Proxy 產生工具中出現例外狀況,請將 bindingNamespace 屬性包含在端點合約中,如下列範例所示。如需 WCF 端點的詳細資訊,請參閱 Windows Communication Foundation 端點。
設定 serviceHostingEnvironment 項目使其與 ASP.NET 相容。如需裝載 WCF 服務的詳細資訊,請參閱 WCF 服務和 ASP.NET。
下列範例將顯示 Web.config 檔案中的 system.serviceModel 項目,此檔案會顯示前一份清單中描述的組態設定。
<system.serviceModel> <services> <service name="System.Web.ApplicationServices.ProfileService" behaviorConfiguration="MyServiceTypeBehaviors"> <endpoint contract= "System.Web.ApplicationServices.ProfileService" binding="basicHttpBinding" bindingNamespace="https://asp.net/ApplicationServices/v200"/> </service> </services> <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/> <bindings> <basicHttpBinding allowCookies="true"> </bindings> </system.serviceModel>
啟用設定檔服務與公開屬性
如果您還沒有為 Web 應用程式定義設定檔屬性,請在 Web.config 檔案中定義。
下列範例顯示兩個設定檔屬性的定義。
<system.web> <profile> <properties> <add name="Birthday" /> <add name="FavoriteColor" /> </properties> </profile> </system.web>
如需定義設定檔屬性的詳細資訊,請參閱定義 ASP.NET 設定檔屬性。
在 Web.config 檔案中,啟用設定檔服務,並標示哪些屬性是以唯讀方式提供、哪些屬性是以讀寫方式提供。
下列範例顯示如何啟用設定檔服務,以及如何設定設定檔屬性的可存取性。
<system.web.extensions> <scripting> <webServices> <profileService enabled="true" readAccessProperties="Birthday, FavoriteColor" writeAccessProperties="Birthday, FavoriteColor" > </webServices> </scripting> </system.web.extensions>
安全性
如果您在設定檔屬性中儲存任何敏感性資料,請透過 Secure Sockets Layer (SSL,藉由使用 HTTPS 通訊協定) 來存取設定檔服務。此外,請您也確定資料是以安全方式儲存。如需詳細資訊,請參閱保護設定檔屬性。如需如何設定 WCF 服務透過 SSL 執行的詳細資訊,請參閱傳輸安全性。如需如何設定 SSL 的詳細資訊,請參閱 Microsoft 網站上的設定 Secure Sockets Layer (IIS 6.0 操作指南) (英文) 和在 IIS 7.0 中設定 Secure Sockets Layer (英文)。
請參閱
工作
概念
Windows Communication Foundation 驗證服務概觀
Windows Communication Foundation 角色服務概觀