SqlRoleProvider.ApplicationName Propriedade

Definição

Obtém ou define o nome da aplicação para a qual armazenar e recuperar a informação do papel.

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

O nome da aplicação para a qual armazenar e recuperar a informação do papel. O valor padrão é o ApplicationPath valor da propriedade para o atual Request.

Exceções

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

Foi feita uma tentativa de definir o ApplicationName para uma cadeia com mais de 256 caracteres.

Exemplos

O exemplo seguinte mostra o elemento roleManager na secção system.web do ficheiro Web.config para uma aplicação ASP.NET. Especifica a instância da SqlRoleProvider aplicação e define a ApplicationName propriedade para 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>

Observações

O ApplicationName é usado por o SqlRoleProvider para associar utilizadores e funções a diferentes aplicações. Isto permite que múltiplas aplicações utilizem a mesma base de dados para armazenar informações de utilizadores e papéis sem conflitos entre nomes de utilizador duplicados ou nomes de papéis. Múltiplas aplicações ASP.NET podem usar a mesma base de dados especificando o mesmo valor na propriedade ApplicationName. A ApplicationName propriedade pode ser definida programaticamente, ou pode ser definida declarativamente no ficheiro de configuração da aplicação Web usando o applicationName atributo.

Se um valor não for especificado para o applicationName atributo no ficheiro de configuração da aplicação Web, então o HttpRequest.ApplicationPath valor da propriedade para o objeto atual HttpContext.Request é utilizado.

Caution

Como uma única instância padrão de fornecedor de papel é usada para todos os pedidos servidos por um HttpApplication objeto, pode ter múltiplos pedidos a executar-se simultaneamente e a tentar definir o valor da ApplicationName propriedade. A ApplicationName propriedade não é segura contra threads para múltiplas escritas, e alterar o valor da ApplicationName propriedade pode resultar em comportamentos inesperados para múltiplos utilizadores de uma aplicação. Recomenda-se que evite escrever código que permita aos utilizadores definir a ApplicationName propriedade, a menos que seja necessário. Um exemplo de uma aplicação onde pode ser necessário definir a ApplicationName propriedade é uma aplicação administrativa que gere dados de funções para múltiplas aplicações. Tal aplicação deveria ser uma aplicação de utilizador único e não uma aplicação Web.

Aplica-se a

Ver também