Roles.ApplicationName Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets the name of the application to store and retrieve role information for.
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
Property Value
The name of the application to store and retrieve role information for.
Examples
The following example shows the roleManager element in the system.web
section of the Web.config file for an ASP.NET application. It specifies that the application uses a SqlRoleProvider instance and sets the applicationName
attribute to 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>
Remarks
The ApplicationName property is used by the Roles class to associate users and roles with different applications. This enables multiple applications to use the same data source to store user and role information without running into conflicts between duplicate user names or duplicate role names. Multiple ASP.NET applications can use the same data source by specifying the same value in the ApplicationName property. You can set the ApplicationName property programmatically, or you can set it declaratively in the configuration file for the Web application by using the applicationName
attribute.
If your Web application is using the SqlRoleProvider class and a value is not specified for the applicationName
attribute in the configuration file, the HttpRequest.ApplicationPath property value for the current HttpContext.Request property is used.
Caution
Because a single default role provider instance is used for all of the requests served by an HttpApplication object, you can have multiple requests executing concurrently and attempting to set the ApplicationName property value. The ApplicationName property is not thread safe for multiple writes, and changing the ApplicationName property value can result in unexpected behavior for multiple users of an application. You should avoid writing code to allow users to set the ApplicationName property, unless required. An example of an application where setting the ApplicationName property may be required is an administrative application that manages role data for multiple applications. Such an application should be a single-user application and not a Web application.