Partager via


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é

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 ApplicationName propriété sur 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>

Remarques

ApplicationName est utilisé par pour associer des SqlRoleProvider utilisateurs et des rôles à différentes applications. Cela permet à plusieurs applications d’utiliser la même base de données pour stocker des informations sur l’utilisateur et le rôle sans créer de conflits entre des noms d’utilisateurs en double ou des noms de rôle. 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 aucune valeur n’est spécifiée pour l’attribut dans le applicationName fichier de configuration de l’application web, la valeur de propriété HttpRequest.ApplicationPath de l’objet actuel HttpContext.Request est utilisée.

Attention

Étant donné qu’une seule instance de fournisseur de rôle par défaut est utilisée pour toutes les requêtes traitées par un HttpApplication objet, plusieurs requêtes peuvent s’exécuter simultanément et tenter de définir la valeur de la ApplicationName propriété. La ApplicationName propriété n’est pas thread safe pour plusieurs écritures, et la modification de la valeur de la ApplicationName 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 le devez. Un exemple d’application pour laquelle 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