Freigeben über


SqlRoleProvider.ApplicationName Eigenschaft

Definition

Dient zum Abrufen oder Festlegen des Namens der Anwendung, für die Rolleninformationen gespeichert und abgerufen werden sollen.

public:
 virtual property System::String ^ ApplicationName { System::String ^ get(); void set(System::String ^ value); };
public override string ApplicationName { get; set; }
member this.ApplicationName : string with get, set
Public Overrides Property ApplicationName As String

Eigenschaftswert

Der Name der Anwendung, für die Rolleninformationen gespeichert und abgerufen werden sollen. Der Standardwert ist der ApplicationPath Eigenschaftswert für die aktuelle .Request

Ausnahmen

Es wurde versucht, die Eigenschaft durch einen Aufrufer festzulegen, der ApplicationName nicht High über ASP.NET Hostingberechtigung verfügt.

Es wurde versucht, die Zeichenfolge auf eine Zeichenfolge festzulegen, die ApplicationName länger als 256 Zeichen ist.

Beispiele

Das folgende Beispiel zeigt das roleManager Element im system.web Abschnitt der Web.config-Datei für eine ASP.NET Anwendung. Sie gibt die Instanz der Anwendung SqlRoleProvider an und legt die ApplicationName Eigenschaft auf MyApplication.

<roleManager defaultProvider="SqlProvider"
  enabled="true"
  cacheRolesInCookie="true"
  cookieName=".ASPROLES"
  cookieTimeout="30"
  cookiePath="/"
  cookieRequireSSL="false"
  cookieSlidingExpiration="true"
  cookieProtection="All" >
  <providers>
    <add
      name="SqlProvider"
      type="System.Web.Security.SqlRoleProvider"
      connectionStringName="SqlServices"
      applicationName="MyApplication" />
  </providers>
</roleManager>

Hinweise

Dies ApplicationName wird von den SqlRoleProvider Benutzern und Rollen mit verschiedenen Anwendungen verknüpft. Auf diese Weise können mehrere Anwendungen dieselbe Datenbank verwenden, um Benutzer- und Rolleninformationen zu speichern, ohne dass Konflikte zwischen doppelten Benutzernamen oder Rollennamen auftreten. Mehrere ASP.NET Anwendungen können dieselbe Datenbank verwenden, indem sie denselben Wert in der ApplicationName Eigenschaft angeben. Die ApplicationName Eigenschaft kann programmgesteuert festgelegt werden, oder sie kann deklarativ in der Konfigurationsdatei für die Webanwendung mithilfe des applicationName Attributs festgelegt werden.

Wenn für das applicationName Attribut in der Konfigurationsdatei für die Webanwendung kein Wert angegeben wird, wird der HttpRequest.ApplicationPath Eigenschaftswert für das aktuelle HttpContext.Request Objekt verwendet.

Vorsicht

Da eine einzelne Standardrollenanbieterinstanz für alle Anforderungen verwendet wird, die von einem HttpApplication Objekt bereitgestellt werden, können Sie mehrere Anforderungen gleichzeitig ausführen und versuchen, den ApplicationName Eigenschaftswert festzulegen. Die ApplicationName Eigenschaft ist nicht threadsicher für mehrere Schreibvorgänge, und das Ändern des ApplicationName Eigenschaftswerts kann zu unerwartetem Verhalten für mehrere Benutzer einer Anwendung führen. Es wird empfohlen, code zu schreiben, der es Benutzern ermöglicht, die ApplicationName Eigenschaft festzulegen, es sei denn, Sie müssen. Ein Beispiel für eine Anwendung, bei der das Festlegen der ApplicationName Eigenschaft erforderlich sein kann, ist eine administrative Anwendung, die Rollendaten für mehrere Anwendungen verwaltet. Eine solche Anwendung sollte eine Einzelbenutzeranwendung und keine Webanwendung sein.

Gilt für:

Weitere Informationen