共用方式為


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

屬性值

要儲存和擷取角色資訊的應用程式名稱。 預設為目前 ApplicationPathRequest 屬性值。

例外狀況

不具 ApplicationName ASP.NET 裝載使用權限的呼叫端嘗試設定 High 屬性。

嘗試將 ApplicationName 設定為長度超過 256 個字元的字串。

範例

下列範例顯示 roleManager ASP.NET 應用程式之 Web.config 檔案區段中的 元素 system.web 。 它會指定應用程式的實體, SqlRoleProvider 並將屬性設定 ApplicationNameMyApplication

<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屬性可以透過程式設計方式設定,或者可以使用 屬性,在 Web 應用程式的applicationName組態檔中以宣告方式設定屬性。

如果未為 applicationName Web 應用程式的組態檔中的 屬性指定值,則會 HttpRequest.ApplicationPath 使用目前 HttpContext.Request 對象的屬性值。

警告

因為單一預設角色提供者實例會用於物件提供 HttpApplication 的所有要求,所以您可以同時執行多個要求,並嘗試設定 ApplicationName 屬性值。 屬性 ApplicationName 對多個寫入而言不是安全線程,而且變更 ApplicationName 屬性值可能會導致應用程式的多個用戶發生非預期的行為。 建議您避免撰寫程式代碼,讓用戶必須設定 ApplicationName 屬性。 設定屬性可能需要的應用程式 ApplicationName 範例是管理多個應用程式的角色數據的系統管理應用程式。 這類應用程式應該是單一使用者應用程式,而不是 Web 應用程式。

適用於

另請參閱