SqlRoleProvider.ApplicationName Proprietà

Definizione

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.

Si applica a

Vedi anche