1、我們沒有真正的服務器,我們只是租用了.Net2.0 + SQLserver空間,SQL數據庫名是固定的。
2、空間提供商不可能給我們設定數據源或給你ASPnetdb數據庫權限。
3、我們沒有服務器的 \Windows\Microsoft.Net\Framework\v2.x\Config 權限。
已知上面三點,如果直接把本地測試好的項目傳到服務器肯定會出錯(因為他默認是調用\Windows\Microsoft.Net\Framework\v2.x\Config ),我認為好的解決方法是把ASPnetdb數據庫內容全部導入自己的遠程SQL數據庫後,再定義項目的web.config數據庫連接字符串。
web.config
<?XML version="1.0"?>
<!--
注意: 除了手動編輯此文件以外,您還可以使用
Web 管理工具來配置應用程序的設置。可以使用 Visual Studio 中的
“網站”->“ASP.Net 配置”選項。
設置和注釋的完整列表在
Machine.config.comments 中,該文件通常位於
\Windows\Microsoft.Net\Framework\v2.x\Config 中
-->
<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, Syst
em.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>
&nbs
p; -->
</system.web>
</configuration>
注:membership節點的那個注釋是轉載的,忘了地址了。
http://lcx.cnblogs.com/archive/2006/06/29/438836.Html