1.我們沒有真正的伺服器,我們只是租用了.net2.0 + SQLserver空間,SQL資料庫名稱是固定的。
2.空間提供者不可能給我們設定資料來源或給你aspnetdb資料庫權限。
3.我們沒有伺服器的WindowsMicrosoft.NetFrameworkv2.xConfig 權限。
已知上面三點,如果直接把本地測試好的項目傳到伺服器肯定會出錯(因為他默認是調用WindowsMicrosoft.NetFrameworkv2.xConfig ),我認為好的解決方法是把aspnetdb資料庫內容全部導入自己的遠端SQL資料庫後,再定義專案的web.config資料庫連接字串。
web.config
<?xml version="1.0"?>
<!--
注意: 除了手動編輯此文件以外,您還可以使用
Web 管理工具來設定應用程式的設定。可以使用Visual Studio 中的
“網站”->“Asp.Net 配置”選項。
設定和註釋的完整清單在
machine.config.comments 中,該檔案通常位於
WindowsMicrosoft.NetFrameworkv2.xConfig 中
-->
<configuration xmlns=" http://schemas.microsoft.com/.NetConfiguration/v2.0 ">
<connectionStrings>
<!--定義資料庫連線-->
<add name="DbName" connectionString="Persist Security Info=False;server=127.0.0.1;database=aspnetdb;uid=sa;pwd=123;pooling=true"/>
</connectionStrings>
<appSettings>
</appSettings>
<system.web>
<!--
connectionStringName 資料庫連線。這個要在web.config設定
enablePasswordRetrieval 取得一個值,指示目前成員資格提供者是否配置為允許使用者檢索其密碼。
enablePasswordReset 取得一個值,指示目前成員資格提供者是否配置為允許使用者重設其密碼。
requiresQuestionAndAnswer 取得一個值,指示預設成員資格提供者是否要求使用者在進行密碼重設和擷取時回答密碼提示問題。
applicationName 取得或設定應用程式的名稱。
requiresUniqueEmail 指示使用者在建立使用者時是否必須提供唯一的電子郵件地址值。
passwordFormat 指示在成員資格資料儲存區中儲存密碼的格式。下面有詳細說明
maxInvalidPasswordAttempts 取得鎖定成員資格使用者前允許的無效密碼或無效密碼提示問題答案嘗試次數。
minRequiredPasswordLength 取得密碼所要求的最小長度。
minRequiredNonalphanumericCharacters 取得有效密碼中必須包含的最少特殊字元數。
passwordAttemptWindow 取得在鎖定成員資格使用者之前允許的最大無效密碼或無效密碼提示問題答案嘗試次數的分鐘數。
對PasswordFormat 的詳細說明
屬性指示儲存密碼的格式。密碼可以採用Clear、Encrypted 和Hashed 密碼格式儲存。 Clear 密碼以明文形式存儲,這可以提高儲存和檢索密碼的效能,但安全性較差,當資料來源安全性受到威脅時此類密碼很容易被讀取。 Encrypted 密碼在儲存時進行了加密,可以在比較或檢索密碼時進行解密。此類密碼在儲存和檢索時需要額外的處理,但較安全,在資料來源的安全性受到威脅時不容易被取得。 Hashed 密碼在儲存到資料庫時使用單向雜湊演算法和隨機產生的salt 值進行雜湊處理。在驗證某一密碼時,將以資料庫中的salt 值對該密碼進行雜湊計算以進行驗證。無法檢索哈希密碼。
-->
<roleManager enabled="true" />
<membership>
<providers>
<remove name="AspNetSqlMembershipProvider"/>
<add name="AspNetSqlMembershipProvider"
type=" System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="DbName"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="/"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
passwordStrengthRegularExpression="" />
</providers>
</membership>
<!--
設定compilation debug="true" 可將偵錯符號插入
已編譯的頁面中。但由於這會
影響性能,因此只應在開發過程中設置
此值。
Visual Basic 選項:
設定strict="true" 將禁止所有會導致
資料遺失的類型轉換。
設定explicit="true" 將強制宣告所有變數。
-->
<compilation debug="true" strict="false" explicit="true"/>
<pages>
<namespaces>
<clear/>
<add namespace="System"/>
<add namespace="System.Collections"/>
<add namespace="System.Collections.Specialized"/>
<add namespace="System.Configuration"/>
<add namespace="System.Text"/>
<add namespace="System.Text.RegularExpressions"/>
<add namespace="System.Web"/>
<add namespace="System.Web.Caching"/>
<add namespace="System.Web.SessionState"/>
<add namespace="System.Web.Security"/>
<add namespace="System.Web.Profile"/>
<add namespace="System.Web.UI"/>
<add namespace="System.Web.UI.WebControls"/>
<add namespace="System.Web.UI.WebControls.WebParts"/>
<add namespace="System.Web.UI.HtmlControls"/>
</namespaces>
</pages>
<!--
透過<authentication> 節可以設定ASP.NET 使用的
安全身份驗證模式,
以標識傳入的用戶。
-->
<authentication mode="Forms" />
<!--
如果在執行請求的過程中出現未處理的錯誤,
則透過<customErrors> 節可以配置對應的處理步驟。具體說來,
開發人員透過該節可以配置
要顯示的html 錯誤頁
以代替錯誤堆疊追蹤。
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
</system.web>
</configuration>
註:membership節點的那個註解是轉載的,忘了位址了。
http://lcx.cnblogs.com/archive/2006/06/29/438836.html