Roles.ApplicationName Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает имя приложения, для которого будут сохраняться и извлекаться сведения о роли.
public:
static property System::String ^ ApplicationName { System::String ^ get(); void set(System::String ^ value); };
public static string ApplicationName { get; set; }
member this.ApplicationName : string with get, set
Public Shared Property ApplicationName As String
Значение свойства
Имя приложения, для которого будут сохраняться и извлекаться сведения о роли.
Примеры
В следующем примере показан элемент roleManager в system.web
разделе файла Web.config для приложения ASP.NET. Он указывает, что приложение использует 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>
Комментарии
Свойство ApplicationName используется классом Roles для связывания пользователей и ролей с разными приложениями. Это позволяет нескольким приложениям использовать один источник данных для хранения сведений о пользователях и роях без конфликтов между повторяющимися именами пользователей или повторяющимися именами ролей. Несколько ASP.NET приложений могут использовать один и тот же источник данных, указав одно и то же значение в свойствеApplicationName. Свойство можно задать ApplicationName программным способом или декларативно задать в файле конфигурации для веб-приложения с помощью атрибута applicationName
.
Если веб-приложение использует SqlRoleProvider класс и значение не указано для applicationName
атрибута в файле конфигурации, HttpRequest.ApplicationPath используется значение свойства для текущего HttpContext.Request свойства.
Внимание!
Так как один экземпляр поставщика ролей по умолчанию используется для всех запросов, обслуживаемых HttpApplication объектом, можно одновременно выполнять несколько запросов и пытаться задать ApplicationName значение свойства. Свойство ApplicationName не является потокобезопасным для нескольких операций записи, и изменение ApplicationName значения свойства может привести к неожиданному поведению для нескольких пользователей приложения. Не следует писать код, чтобы пользователи могли задавать ApplicationName свойство, если это не требуется. Примером приложения, где может потребоваться задание ApplicationName свойства, является административное приложение, которое управляет данными ролей для нескольких приложений. Такое приложение должно быть однопользовательским приложением, а не веб-приложением.