Partilhar via


Roles.ApplicationName Propriedade

Definição

Obtém ou define o nome do aplicativo no qual as informações de função serão armazenadas e recuperadas.

public:
 static property System::String ^ ApplicationName { System::String ^ get(); void set(System::String ^ value); };
public static string ApplicationName { get; set; }
static member ApplicationName : string with get, set
Public Shared Property ApplicationName As String

Valor da propriedade

O nome do aplicativo no qual as informações de função serão armazenadas e recuperadas.

Exemplos

O exemplo a seguir mostra o elemento roleManager na system.web seção do arquivo Web.config para um aplicativo ASP.NET. Ele especifica que o aplicativo usa uma SqlRoleProvider instância e define o applicationName atributo como 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>

Comentários

A ApplicationName propriedade é usada pela Roles classe para associar usuários e funções a aplicativos diferentes. Isso permite que vários aplicativos usem a mesma fonte de dados para armazenar informações de usuário e função sem encontrar conflitos entre nomes de usuário duplicados ou nomes de função duplicados. Vários aplicativos ASP.NET podem usar a mesma fonte de dados especificando o mesmo valor na ApplicationName propriedade . Você pode definir a ApplicationName propriedade programaticamente ou defini-la declarativamente no arquivo de configuração do aplicativo Web usando o applicationName atributo .

Se o aplicativo Web estiver usando a SqlRoleProvider classe e um valor não for especificado para o applicationName atributo no arquivo de configuração, o valor da HttpRequest.ApplicationPath propriedade atual HttpContext.Request será usado.

Cuidado

Como uma única instância de provedor de função padrão é usada para todas as solicitações atendidas por um HttpApplication objeto, você pode ter várias solicitações em execução simultaneamente e tentando definir o valor da ApplicationName propriedade. A ApplicationName propriedade não é thread-safe para várias gravações e alterar o valor da ApplicationName propriedade pode resultar em um comportamento inesperado para vários usuários de um aplicativo. Você deve evitar escrever código para permitir que os usuários definam a ApplicationName propriedade, a menos que seja necessário. Um exemplo de um aplicativo em que a configuração da ApplicationName propriedade pode ser necessária é um aplicativo administrativo que gerencia dados de função para vários aplicativos. Esse aplicativo deve ser um aplicativo de usuário único e não um aplicativo Web.

Aplica-se a

Confira também