Бөлісу құралы:


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 свойства, — это административное приложение, которое управляет данными ролей для нескольких приложений. Такое приложение должно быть однопользовательским приложением, а не веб-приложением.

Применяется к

См. также раздел