Roles.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:
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 MyApplication
festlegt.
<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.