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