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