簡體   English   中英

通過代碼初始化成員資格提供程序

[英]Initializing Membership Provider by code

我正在嘗試通過代碼初始化SQL Membership Provider,並且僅在第一個請求中一切正常! 當下面的代碼再次執行時(例如,刷新頁面后),我得到以下錯誤

屬性“ connectionStringName”丟失或為空。

頁面加載代碼:

MembershipSection membershipSection = (MembershipSection)ConfigurationManager.GetSection("system.web/membership");
                    string sqlProviderName = "AspNetSqlMembershipProvider";
                    NameValueCollection providerConfig;
                    providerConfig = membershipSection.Providers[sqlProviderName].Parameters; // returning empty list in the second request
                    var _SqlProvider = new SqlMembershipProvider();
                    _SqlProvider.Initialize(sqlProviderName, providerConfig);

Web.config文件:

<membership defaultProvider="AspNetSqlMembershipProvider">
      <providers>  
        <clear />  
        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ConnectionString" enablePasswordRetrieval="true" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" passwordFormat="Encrypted" maxInvalidPasswordAttempts="5" passwordAttemptWindow="10" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" applicationName="/" />
      </providers>
    </membership>

有什么建議嗎?

僅將數據/連接字符串/ obj保持在靜態級別(如單例)怎么樣?

並不是整個網絡實例中的連接字符串都會改變,不是嗎?

static string/dataType _DataToBeRead1timeOnly = null;
static string/dataType DataToBeRead1timeOnly 
{
  get {
    if (_DataToBeRead1timeOnly == null) { _DataToBeRead1timeOnly = .... }
    return _DataToBeRead1timeOnly;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM