SqlRoleProvider.ApplicationName Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.