Compartilhar via


SqlRoleProvider.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:
 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

Valor da propriedade

O nome do aplicativo para o qual armazenar e recuperar informações de função. O padrão é o valor da ApplicationPath propriedade para o atual Request.

Exceções

Foi feita uma tentativa de definir a propriedade ApplicationName por um chamador que não tem a permissão de hospedagem do ASP.NET High.

Foi feita uma tentativa de definir o ApplicationName como uma cadeia de caracteres maior do que 256 caracteres.

Exemplos

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

O ApplicationName é usado pelo SqlRoleProvider para associar usuários e funções a diferentes aplicativos. Isso permite que vários aplicativos usem o mesmo banco 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. Vários aplicativos ASP.NET podem usar o mesmo banco de dados especificando o mesmo valor na ApplicationName propriedade . A ApplicationName propriedade pode ser definida programaticamente ou pode ser definida declarativamente no arquivo de configuração do aplicativo Web usando o applicationName atributo .

Se um valor não for especificado para o applicationName atributo no arquivo de configuração do aplicativo Web, o valor da HttpRequest.ApplicationPath propriedade do objeto 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. É recomendável evitar escrever código que permita que os usuários definam a ApplicationName propriedade, a menos que seja necessário. Um exemplo de um aplicativo em que a definiçã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