Freigeben über


SqlRoleProvider.ApplicationName Eigenschaft

Definition

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

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 ApplicationPath-Eigenschaftswert ist der Standardwert für die aktuelle Request.

Ausnahmen

Ein Aufrufer, der nicht über die Berechtigung ApplicationName zum Hosten von ASP.NET verfügt, hat versucht, die High-Eigenschaft festzulegen.

ApplicationName wurde auf eine Zeichenfolge festzulegen versucht, die 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 SqlRoleProvider Anwendung an und legt die ApplicationName -Eigenschaft auf fest 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

Der ApplicationName wird von verwendet SqlRoleProvider , um Benutzern und Rollen verschiedenen Anwendungen zuzuordnen. Dadurch können mehrere Anwendungen dieselbe Datenbank zum Speichern von Benutzer- und Rolleninformationen verwenden, 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 oder deklarativ in der Konfigurationsdatei für die Webanwendung mithilfe des applicationName -Attributs festgelegt werden.

Wenn für das Attribut in der Konfigurationsdatei für die applicationName Webanwendung kein Wert angegeben wird, wird der HttpRequest.ApplicationPath Eigenschaftswert für das aktuelle HttpContext.Request Objekt 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. Es wird empfohlen, das Schreiben von Code zu vermeiden, mit dem 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