SqlRoleProvider.ApplicationName Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает имя приложения, для которого необходимо хранить и извлекать сведения о роли.
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
Значение свойства
Имя приложения, для которого нужно хранить и извлекать сведения о роли. По умолчанию используется ApplicationPath значение свойства для текущего Request.
Исключения
Предпринята попытка задать ApplicationName свойство вызывающим абонентом, у которых нет High разрешения на размещение ASP.NET.
Предпринята попытка задать ApplicationName строку, длинную до 256 символов.
Примеры
В следующем примере показан 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>
Комментарии
Используется ApplicationNameSqlRoleProvider для связывания пользователей и ролей с различными приложениями. Это позволяет нескольким приложениям использовать одну и ту же базу данных для хранения сведений о пользователях и роли без конфликтов между повторяющимися именами пользователей или именами ролей. Несколько ASP.NET приложений могут использовать одну и ту же базу данных, указав одно и то же значение в свойстве ApplicationName . Свойство ApplicationName можно задать программным способом или декларативно задать в файле конфигурации для веб-приложения с помощью атрибута applicationName .
Если значение не указано для applicationName атрибута в файле конфигурации веб-приложения, HttpRequest.ApplicationPath используется значение свойства для текущего HttpContext.Request объекта.
Предостережение
Так как для всех запросов, обслуживаемых HttpApplication объектом, используется один экземпляр поставщика ролей по умолчанию, можно одновременно выполнять несколько запросов и пытаться задать ApplicationName значение свойства. Свойство ApplicationName не является потокобезопасным для нескольких операций записи, и изменение ApplicationName значения свойства может привести к неожиданному поведению для нескольких пользователей приложения. Рекомендуется избегать написания кода, позволяющего ApplicationName пользователям задавать свойство, если только не требуется. Пример приложения, в котором может потребоваться задание ApplicationName свойства, — это административное приложение, которое управляет данными ролей для нескольких приложений. Такое приложение должно быть однопользовательским приложением, а не веб-приложением.