SqlRoleProvider.ApplicationName Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.