SqlRoleProvider.ApplicationName Propriété

Définition

Obtient ou définit le nom de l'application pour laquelle stocker ou récupérer des informations de rôle.

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

Valeur de propriété

String

Nom de l'application pour laquelle stocker et récupérer des informations de rôle. La valeur par défaut est celle de la propriété ApplicationPath du Request en cours.

Exceptions

Une tentative a été faite pour définir la propriété ApplicationName par un appelant qui n'a pas autorisation d'hébergement ASP.NET High.

Une tentative a été faite pour affecter à ApplicationName une chaîne dépassant 256 caractères.

Exemples

L’exemple suivant montre l’élément roleManager dans la system.web section du fichier Web.config pour une application ASP.NET. Il spécifie l’instance de l’application SqlRoleProvider et définit la propriété MyApplicationsur ApplicationName .

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

Remarques

Il ApplicationName est utilisé par l’association SqlRoleProvider d’utilisateurs et de rôles à différentes applications. Cela permet à plusieurs applications d’utiliser la même base de données pour stocker les informations d’utilisateur et de rôle sans entrer en conflit entre les noms d’utilisateur en double ou les noms de rôles. Plusieurs applications ASP.NET peuvent utiliser la même base de données en spécifiant la même valeur dans la ApplicationName propriété. La ApplicationName propriété peut être définie par programmation, ou elle peut être définie de manière déclarative dans le fichier de configuration de l’application Web à l’aide de l’attribut applicationName .

Si une valeur n’est pas spécifiée pour l’attribut applicationName dans le fichier de configuration de l’application Web, la HttpRequest.ApplicationPath valeur de propriété de l’objet actuel HttpContext.Request est utilisée.

Attention

Étant donné qu’une seule instance de fournisseur de rôles par défaut est utilisée pour toutes les demandes traitées par un HttpApplication objet, vous pouvez avoir plusieurs requêtes s’exécutant simultanément et tenter de définir la ApplicationName valeur de propriété. La ApplicationName propriété n’est pas thread-safe pour plusieurs écritures, et la modification de la ApplicationName valeur de la propriété peut entraîner un comportement inattendu pour plusieurs utilisateurs d’une application. Il est recommandé d’éviter d’écrire du code qui permet aux utilisateurs de définir la ApplicationName propriété, sauf si vous devez. Un exemple d’application où la définition de la ApplicationName propriété peut être nécessaire est une application administrative qui gère les données de rôle pour plusieurs applications. Une telle application doit être une application mono-utilisateur et non une application web.

S’applique à

Voir aussi