Freigeben über


Gewusst wie: Aktivieren des WCF-Rollendiensts

Aktualisiert: November 2007

In diesem Thema wird gezeigt, wie der ASP.NET-Rollendienst auf einem Webserver konfiguriert wird, um ihn Clients, die Windows Communication Foundation (WCF) verwenden, zur Verfügung zu stellen.

Hinweis:

Wenn ein Rollenname von einem böswilligen Benutzer verwendet werden könnte, um vertrauliche Daten verfügbar zu machen, oder in einem dauerhaften Cookie gespeichert wird, sollte über Secure Sockets Layer (SSL, unter Verwendung des HTTPS-Protokolls) auf den Rollendienst zugegriffen werden. Informationen zum Einrichten von SSL finden Sie unter Configuring Secure Sockets Layer (IIS 6.0 Operations Guide und unter Configuring Secure Sockets Layer in IIS 7.0 auf der Microsoft-Website.

So konfigurieren Sie den ASP.NET-Rollendienst als WCF-Dienst

  1. Wenn Sie noch keine ASP.NET-Webanwendung haben, erstellen Sie eine.

  2. Aktivieren Sie Formularauthentifizierung in der Webanwendung. Weitere Informationen finden Sie unter Konfigurieren einer ASP.NET-Anwendung für die Verwendung der Mitgliedschaft.

  3. Aktivieren Sie Rollen in der Webanwendung. Weitere Informationen finden Sie unter Grundlegende Informationen über die Rollenverwaltung.

  4. Bieten Sie Benutzern die Möglichkeit, sich bei der Webanwendung anzumelden.

    Wenn Sie Rollen über den WCF-Rollendienst abrufen, können Benutzer auch über den WCF-Authentifizierungsdienst angemeldet werden. Informationen über die Einrichtung des WCF-Authentifizierungsdiensts finden Sie unter Gewusst wie: Aktivieren des WCF-Authentifizierungsdiensts.

  5. Fügen Sie der Website eine Dienstdatei (.svc) hinzu, die die folgende Direktive als Verweis auf die RoleService-Klasse enthält:

    <%@ 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. Speichern und schließen Sie die SVC-Datei.

  7. Nehmen Sie die folgenden Konfigurationseinstellungen in der Datei Web.config vor, um den Dienst zu konfigurieren und die Verwendung von SSL festzulegen:

    • Aktivieren Sie den Rollendienst im roleService-Element.

    • Definieren Sie den Endpunktevertrag im services-Element und das Verhalten des Diensts im behaviors-Element. Fügen Sie die bindingNamespace-Eigenschaft in den Endpunktevertrag ein, um einer Ausnahme in einigen Tools zur Proxygenerierung vorzubeugen. Weitere Informationen zu WCF-Endpunkten finden Sie unter Windows Communication Foundation Endpoints.

    • Konfigurieren Sie das serviceHostingEnvironment-Element für ASP.NET-Kompatibilität. Weitere Informationen zum Hosten von WCF-Diensten finden Sie unter WCF Services and ASP.NET.

    • Erstellen Sie eine Bindung im bindings-Element, die SSL erfordert. Weitere Informationen zur Übertragungssicherheit in WCF finden Sie unter Transport Security.

    Das folgende Beispiel zeigt das system.serviceModel-Element einer Web.config-Datei, die der obigen Liste entsprechend konfiguriert ist.

    <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>
    

Sicherheit

Greifen Sie auf den Authentifizierungsdienst über Secure Sockets Layer (SSL, unter Verwendung des HTTPS-Protokolls) zu, wenn Sie mit vertraulichen Benutzerdaten arbeiten. Informationen zum Einrichten von SSL finden Sie unter Configuring Secure Sockets Layer (IIS 6.0 Operations Guide und unter Configuring Secure Sockets Layer in IIS 7.0 auf der Microsoft-Website.

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Verwenden von ASP.NET-Anwendungsdiensten

Konzepte

Übersicht über den Windows Communication Foundation-Rollendienst

Weitere Ressourcen

Konfigurieren von Diensten