SqlRoleProvider.ApplicationName Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.