SqlRoleProvider.ApplicationName Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta il nome dell'applicazione per cui archiviare e recuperare le informazioni sui ruoli.
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
Valore della proprietà
Nome dell'applicazione per cui archiviare e recuperare le informazioni sui ruoli. Il valore predefinito è il valore della proprietà ApplicationPath per la proprietà Request corrente.
Eccezioni
È stato effettuato un tentativo di impostare la proprietà ApplicationName da parte di un chiamante che non dispone dell'autorizzazione host ASP.NET High.
È stato effettuato un tentativo di impostare la proprietà ApplicationName su una stringa di lunghezza superiore a 256 caratteri.
Esempio
Nell'esempio seguente viene illustrato l'elemento roleManager
nella system.web
sezione del file Web.config per un'applicazione ASP.NET. Specifica l'istanza dell'applicazione SqlRoleProvider e imposta la ApplicationName proprietà su 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>
Commenti
l'oggetto ApplicationNameSqlRoleProvider viene utilizzato da per associare utenti e ruoli a applicazioni diverse. In questo modo, più applicazioni possono usare lo stesso database per archiviare informazioni su utenti e ruoli senza conflitti tra nomi utente duplicati o nomi di ruolo. Più applicazioni ASP.NET possono usare lo stesso database specificando lo stesso valore nella ApplicationName proprietà . La ApplicationName proprietà può essere impostata a livello di codice oppure può essere impostata in modo dichiarativo nel file di configurazione per l'applicazione Web usando l'attributo applicationName
.
Se non viene specificato un valore per l'attributo applicationName
nel file di configurazione per l'applicazione Web, viene utilizzato il valore della HttpRequest.ApplicationPath proprietà per l'oggetto corrente HttpContext.Request .
Attenzione
Poiché per tutte le richieste gestite da un HttpApplication oggetto viene usata una singola istanza del provider di ruoli predefinita, è possibile eseguire più richieste contemporaneamente e tentare di impostare il valore della ApplicationName proprietà. La ApplicationName proprietà non è thread-safe per più scritture e la modifica del valore della proprietà può comportare un ApplicationName comportamento imprevisto per più utenti di un'applicazione. È consigliabile evitare di scrivere codice che consenta agli utenti di impostare la ApplicationName proprietà a meno che non sia necessario. Un esempio di applicazione in cui l'impostazione della ApplicationName proprietà può essere necessaria è un'applicazione amministrativa che gestisce i dati dei ruoli per più applicazioni. Tale applicazione deve essere un'applicazione a utente singolo e non un'applicazione Web.