SqlRoleProvider.ApplicationName Eigenschap

Definitie

Hiermee haalt u de naam op van de toepassing waarvoor rolgegevens moeten worden opgeslagen en opgehaald.

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

Waarde van eigenschap

De naam van de toepassing waarvoor rolgegevens moeten worden opgeslagen en opgehaald. De standaardwaarde is de ApplicationPath eigenschapswaarde voor de huidige Request.

Uitzonderingen

Er is een poging gedaan om de eigenschap ApplicationName in te stellen door een beller die geen High ASP.NET hostingmachtiging heeft.

Er is een poging gedaan om de ApplicationName tekenreeks in te stellen op een tekenreeks die langer is dan 256 tekens.

Voorbeelden

In het volgende voorbeeld ziet u het element roleManager in de sectie system.web van het Web.config-bestand voor een ASP.NET-toepassing. Hiermee geeft u het exemplaar van SqlRoleProvider de toepassing op en stelt u de ApplicationName eigenschap in op 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>

Opmerkingen

Het ApplicationName wordt gebruikt door de SqlRoleProvider gebruiker en rollen te koppelen aan verschillende toepassingen. Hierdoor kunnen meerdere toepassingen dezelfde database gebruiken om gebruikers- en rolgegevens op te slaan zonder dat er conflicten optreden tussen dubbele gebruikersnamen of rolnamen. Meerdere ASP.NET toepassingen kunnen dezelfde database gebruiken door dezelfde waarde op te geven in de eigenschap ApplicationName. De ApplicationName eigenschap kan programmatisch worden ingesteld of deze kan declaratief worden ingesteld in het configuratiebestand voor de webtoepassing met behulp van het applicationName kenmerk.

Als er geen waarde is opgegeven voor het kenmerk in het applicationName configuratiebestand voor de webtoepassing, wordt de HttpRequest.ApplicationPath eigenschapswaarde voor het huidige HttpContext.Request object gebruikt.

Caution

Omdat één exemplaar van een standaardrolprovider wordt gebruikt voor alle aanvragen die door een HttpApplication object worden verwerkt, kunt u meerdere aanvragen tegelijk uitvoeren en de ApplicationName eigenschapswaarde instellen. De ApplicationName eigenschap is niet thread veilig voor meerdere schrijfbewerkingen en het wijzigen van de ApplicationName eigenschapswaarde kan leiden tot onverwacht gedrag voor meerdere gebruikers van een toepassing. Het is raadzaam om te voorkomen dat u code schrijft waarmee gebruikers de ApplicationName eigenschap kunnen instellen, tenzij u dat moet. Een voorbeeld van een toepassing waarbij het instellen van de ApplicationName eigenschap mogelijk vereist is, is een beheertoepassing waarmee rolgegevens voor meerdere toepassingen worden beheerd. Een dergelijke toepassing moet een toepassing met één gebruiker zijn en geen webtoepassing.

Van toepassing op

Zie ook