2011-02-09 66 views
1

我寫了下面的代碼登錄後:System.Web.HttpException:無法向驗證數據 - 發佈網站

Session["IsLogin"] = false; 
     System.Configuration.Configuration config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~"); 
     if (txtPassword.Text.Trim() == string.Empty) 
     { 
      // Display Error 
     } 
     else 
     { 
      string Pwd = config.AppSettings.Settings["PWD"].Value.ToString(); 
      FormsAuthenticationTicket formAuthTk = FormsAuthentication.Decrypt(Pwd); 
      string strDcryptedPwd = formAuthTk.Name.Trim().ToString(); 
      if (txtPassword.Text.Trim() == strDcryptedPwd) 
      { 
       Session["IsLogin"] = true; 
       Response.Redirect("AnyPage.aspx"); 
      } 
      else 
      { 
       // Error, Wrong password 
      } 
     } 

這是運行良好通過Visual Studio運行時。但是,當我出版它它顯示下面的錯誤:

System.Web.HttpException: Unable to validate data

注:

  1. 我發佈上,我正在開發 網站的 同一臺服務器上的應用程序。

  2. 我試過EnableViewStateMAC = 在頁面級別爲false。 [登錄頁]

這個錯誤的共鳴是什麼?爲什麼只有在我發佈該網站時纔會出現? 。

+1

在某些情況下,我在從VS2008運行時遇到錯誤。該錯誤來自`FormsAuthenticationTicket formAuthTk = FormsAuthentication.Decrypt(Pwd)行; ` – Chris 2011-02-09 13:24:37

回答

1

我改變了加密字符串和問題消失的方式。我不知道錯誤的原因,但我解決了這個問題。 希望它能幫助那些面臨同樣問題的人。

0

你不需要申報你沒有,只是用Configuration.AppSettings [ 「PWD」]的方式配置的ToString()...

+0

我做了同樣的事情,並且我得到了這個錯誤`編譯網站時,非靜態字段,方法或屬性'Configuration.AppSettings.get'` **需要對象引用** – Chris 2011-02-09 12:59:11