Freigeben über


Roles.ApplicationName Eigenschaft

Definition

Ruft den Namen der Anwendung ab, für die Rolleninformationen gespeichert und abgerufen werden sollen, oder legt diesen fest.

public:
 static property System::String ^ ApplicationName { System::String ^ get(); void set(System::String ^ value); };
public static string ApplicationName { get; set; }
static member ApplicationName : string with get, set
Public Shared Property ApplicationName As String

Eigenschaftswert

Der Name der Anwendung, für die Rolleninformationen gespeichert und abgerufen werden sollen.

Beispiele

Das folgende Beispiel zeigt das roleManager-Element im system.web Abschnitt der Web.config-Datei für eine ASP.NET-Anwendung. Es gibt an, dass die Anwendung eine SqlRoleProvider -Instanz verwendet und das applicationName -Attribut auf MyApplicationfestlegt.

<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

Die ApplicationName -Eigenschaft wird von der Roles -Klasse verwendet, um Benutzern und Rollen verschiedenen Anwendungen zuzuordnen. Dadurch können mehrere Anwendungen dieselbe Datenquelle zum Speichern von Benutzer- und Rolleninformationen verwenden, ohne dass Konflikte zwischen doppelten Benutzernamen oder doppelten Rollennamen auftreten. Mehrere ASP.NET Anwendungen können dieselbe Datenquelle verwenden, indem sie denselben Wert in der ApplicationName -Eigenschaft angeben. Sie können die ApplicationName Eigenschaft programmgesteuert festlegen oder sie deklarativ in der Konfigurationsdatei für die Webanwendung festlegen, indem Sie das applicationName -Attribut verwenden.

Wenn Ihre Webanwendung die SqlRoleProvider -Klasse verwendet und kein Wert für das applicationName Attribut in der Konfigurationsdatei angegeben wird, wird der HttpRequest.ApplicationPath Eigenschaftswert für die aktuelle HttpContext.Request Eigenschaft verwendet.

Achtung

Da eine einzelne Standardrollenanbieterinstanz für alle Anforderungen verwendet wird, die von einem HttpApplication Objekt bereitgestellt werden, können mehrere Anforderungen gleichzeitig ausgeführt werden und versuchen, den ApplicationName Eigenschaftswert festzulegen. Die ApplicationName Eigenschaft ist für mehrere Schreibvorgänge nicht threadsicher, und das Ändern des ApplicationName Eigenschaftswerts kann zu unerwartetem Verhalten für mehrere Benutzer einer Anwendung führen. Sie sollten das Schreiben von Code vermeiden, damit Benutzer die ApplicationName Eigenschaft festlegen können, sofern dies nicht erforderlich ist. Ein Beispiel für eine Anwendung, bei der das Festlegen der ApplicationName Eigenschaft möglicherweise erforderlich ist, 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