Поделиться через


Roles.ApplicationName Свойство

Определение

Возвращает или задает имя приложения, для которого будут сохраняться и извлекаться сведения о роли.

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

Значение свойства

Имя приложения, для которого будут сохраняться и извлекаться сведения о роли.

Примеры

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

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

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