SqlRoleProvider.ApplicationName Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger namnet på programmet för vilket rollinformationen ska lagras och hämtas.
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
Egenskapsvärde
Namnet på det program som rollinformationen ska lagras och hämtas för. Standardvärdet är egenskapsvärdet ApplicationPath för den aktuella Request.
Undantag
Ett försök gjordes att ange egenskapen ApplicationName av en anropare som inte har High ASP.NET värdbehörighet.
Ett försök gjordes att ange ApplicationName till en sträng som är längre än 256 tecken.
Exempel
I följande exempel visas elementet roleManager i avsnittet system.web i Web.config-filen för ett ASP.NET-program. Den anger programmets SqlRoleProvider instans och anger ApplicationName egenskapen till 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>
Kommentarer
ApplicationName Används av SqlRoleProvider för att associera användare och roller med olika program. Detta gör att flera program kan använda samma databas för att lagra användar- och rollinformation utan att stöta på konflikter mellan duplicerade användarnamn eller rollnamn. Flera ASP.NET program kan använda samma databas genom att ange samma värde i egenskapen ApplicationName. Egenskapen ApplicationName kan anges programmatiskt, eller så kan den anges deklarativt i konfigurationsfilen för webbprogrammet med hjälp av applicationName attributet .
Om ett värde inte har angetts för applicationName attributet i konfigurationsfilen för webbprogrammet HttpRequest.ApplicationPath används egenskapsvärdet för det aktuella HttpContext.Request objektet.
Caution
Eftersom en enda standardrollproviderinstans används för alla begäranden som hanteras av ett HttpApplication objekt kan du ha flera begäranden som körs samtidigt och försöka ange egenskapsvärdet ApplicationName . Egenskapen ApplicationName är inte trådsäker för flera skrivningar, och om du ändrar egenskapsvärdet ApplicationName kan det leda till oväntat beteende för flera användare av ett program. Vi rekommenderar att du undviker att skriva kod som gör att användarna kan ange ApplicationName egenskapen om du inte måste göra det. Ett exempel på ett program där det kan krävas att ange ApplicationName egenskapen är ett administrativt program som hanterar rolldata för flera program. Ett sådant program ska vara ett enanvändarprogram och inte ett webbprogram.