Roles.ApplicationName Propriedade

Definição

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

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

O nome da aplicação para armazenar e recuperar informações de funções.

Exemplos

O exemplo seguinte mostra o elemento roleManager na secção system.web do ficheiro de Web.config para uma aplicação ASP.NET. Especifica que a aplicação utiliza 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>

Observações

A ApplicationName propriedade é usada pela Roles classe para associar utilizadores e funções a diferentes aplicações. Isto permite que múltiplas aplicações utilizem a mesma fonte de dados para armazenar informações de utilizadores e funções sem conflitos entre nomes de utilizador duplicados ou nomes de papéis duplicados. Múltiplas aplicações ASP.NET podem usar a mesma fonte de dados especificando o mesmo valor na propriedade ApplicationName. Pode definir a ApplicationName propriedade programaticamente, ou pode defini-la declarativamente no ficheiro de configuração da aplicação Web usando o applicationName atributo.

Se a sua aplicação Web estiver a usar a SqlRoleProvider classe e um valor não for especificado para o applicationName atributo no ficheiro de configuração, o HttpRequest.ApplicationPath valor da HttpContext.Request propriedade atual é usado.

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. Deves evitar escrever código para permitir que os utilizadores definam 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