共用方式為


HOW TO:啟用 WCF 角色服務

更新:2007 年 11 月

本主題說明如何在 Web 伺服器上設定 ASP.NET 角色服務,以供使用 Windows Communication Foundation (WCF) 的用戶端使用。

注意事項:

如果惡意使用者可能利用角色名稱取得敏感性資料,或如果角色名稱儲存在持續性 Cookie 中,請透過 Secure Sockets Layer (SSL,使用 HTTPS 通訊協定) 存取角色服務。如需如何設定 SSL 的詳細資訊,請參閱 Microsoft 網站上的設定 Secure Sockets Layer (IIS 6.0 操作手冊) (英文) 和在 IIS 7.0 中設定 Secure Sockets Layer (英文)。

設定 ASP.NET 角色服務做為 WCF 服務

  1. 如果您沒有 ASP.NET Web 應用程式,請建立一個。

  2. 在 Web 應用程式中啟用表單驗證。如需詳細資訊,請參閱設定 ASP.NET 應用程式使用成員資格

  3. 在 Web 應用程式中啟用角色。如需詳細資訊,請參閱了解角色管理

  4. 提供方法讓使用者登入 Web 應用程式。

    透過 WCF 角色服務擷取角色時,您也可以透過 WCF 驗證服務讓使用者登入。如需如何設定 WCF 驗證服務的詳細資訊,請參閱 HOW TO:啟用 WCF 驗證服務

  5. 將服務檔案 (.svc) 加入至網站,這個檔案包含下列指示詞來參考 RoleService 類別:

    <%@ ServiceHost 
      Language="VB"
      Service="System.Web.ApplicationServices.RoleService" 
      Factory="System.Web.ApplicationServices.ApplicationServicesHostFactory" %>
    <%@ ServiceHost 
      Language="C#"
      Service="System.Web.ApplicationServices.RoleService" 
      Factory="System.Web.ApplicationServices.ApplicationServicesHostFactory" %>
    
  6. 儲存並關閉 .svc 檔案。

  7. 在 Web.config 檔案中進行下列組態設定,以設定服務並要求 SSL:

    • 在 roleService 項目中啟用角色服務。

    • 定義 services 項目中端點合約和 behaviors 項目中的服務行為。為了避免某些 Proxy 產生工具中出現例外狀況,請將 bindingNamespace 屬性包含在端點合約中。如需 WCF 端點的詳細資訊,請參閱 Windows Communication Foundation 端點

    • 設定 serviceHostingEnvironment 項目使其與 ASP.NET 相容。如需如何裝載 WCF 服務的詳細資訊,請參閱 WCF 服務和 ASP.NET

    • 在 bindings 項目中建立需要 SSL 的繫結。如需 WCF 中傳輸安全性的詳細資訊,請參閱傳輸安全性

    下列範例顯示 Web.config 檔案中的 system.serviceModel 項目,此檔案顯示前一份清單中描述的組態設定。

    <system.web.extensions>
      <scripting>
        <webServices>
          <roleService enabled="true"/>
        </webServices>
      </scripting>
    </system.web.extensions>
    <system.serviceModel>
      <services>
        <service name="System.Web.ApplicationServices.RoleService"
            behaviorConfiguration="ApplicationServiceTypeBehaviors">
          <endpoint contract=
            "System.Web.ApplicationServices.RoleService"
            binding="basicHttpBinding"
            bindingConfiguration="userHttps" 
            bindingNamespace="https://asp.net/ApplicationServices/v200"/>
        </service>
      </services>
      <bindings>
    <basicHttpBinding>
    <binding name="userHttps">
    <security mode="Transport" />
    </binding>
    </basicHttpBinding>
    </bindings>
      <behaviors>
        <serviceBehaviors>
          <behavior name="ApplicationServiceTypeBehaviors">
            <serviceMetadata httpGetEnabled="true"/>
          </behavior>
        </serviceBehaviors>
      </behaviors>
      <serviceHostingEnvironment
        aspNetCompatibilityEnabled="true"/>
    </system.serviceModel>
    

安全性

如果使用敏感性使用者資料,請透過 Secure Sockets Layer (SSL,使用 HTTPS 通訊協定) 存取驗證服務。如需如何設定 SSL 的詳細資訊,請參閱 Microsoft 網站上的設定 Secure Sockets Layer (IIS 6.0 操作手冊) (英文) 和在 IIS 7.0 中設定 Secure Sockets Layer (英文)。

請參閱

工作

逐步解說:使用 ASP.NET 應用程式服務

概念

Windows Communication Foundation 角色服務概觀

其他資源

設定服務