Public Shared Property ApplicationName As String
Dim value As String value = Roles.ApplicationName Roles.ApplicationName = value
public static string ApplicationName { get; set; }
public: static property String^ ApplicationName { String^ get (); void set (String^ value); }
/** @property */ public static String get_ApplicationName () /** @property */ public static void set_ApplicationName (String value)
public static function get ApplicationName () : String public static function set ApplicationName (value : String)
ApplicationName 属性由 Roles 类使用,用于将用户和角色与不同的应用程序相关联。这使多个应用程序能够使用相同的数据源来存储用户和角色信息,而不会在重复的用户名或重复的角色名之间遇到冲突。通过在 ApplicationName 属性中指定相同的值,多个 ASP.NET 应用程序可以使用相同的数据源。可以通过编程方式设置 ApplicationName 属性 (Property),也可以使用 applicationName 属性 (Attribute) 以声明方式在 Web 应用程序的配置文件中设置它。
如果 Web 应用程序使用 SqlRoleProvider 类,并且未在配置文件中为 applicationName 属性 (Attribute) 指定值,则会使用当前 HttpContext.Request 属性 (Property) 的 HttpRequest.ApplicationPath 属性 (Property) 值。
由于将单个默认角色提供程序的实例用于由 HttpApplication 对象满足的所有请求,因此,可以让多个请求同时执行并尝试设置 ApplicationName 属性值。ApplicationName 属性对于多次写入而言不是线程安全的,并且对于应用程序的多个用户而言,更改 ApplicationName 属性值可能会导致意外的行为。除非有必要,否则应避免写入代码,以免用户设置 ApplicationName 属性。可能需要设置 ApplicationName 属性的应用程序的示例是:为多个应用程序管理角色数据的管理性应用程序。这样的应用程序应是单用户应用程序而不是 Web 应用程序。
下面的示例演示 ASP.NET 应用程序的 Web.config 文件中 system.web 节的 roleManager 元素。它指定应用程序使用 SqlRoleProvider 实例,并将 applicationName 属性设置为 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>
Windows 98、Windows 2000 SP4、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition
.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。