2013-02-25 89 views
0

我正在從IIS6遷移到IIS7(集成模式)。 我有很多問題,但現在幾乎所有工作都在運行: 當我發佈像「/」或「/ test /」這樣的URL的數據時,將顯示Default.aspx,但HttpRequest對象上缺少發佈的數據。 如果我發佈到「/Default.aspx」或「/test/Default.aspx」,沒有任何問題。 在我的其他服務器(IIS7)或我的本地服務器(IIS8)上都沒有問題。我試圖比較兩臺服務器上的處理程序配置,但沒有發現任何區別。發佈數據丟失

這裏是我的測試頁:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<body> 
    <form method="POST" action=""> 
     <p> 
      <input type="text" name="text"/> 
      <input type="submit" value="send" name="button"/> 
     </p> 
     <p> 
      method: <%=Request.HttpMethod %> 
      <br/> 
      post: <%=HttpUtility.HtmlEncode(Request.Form.ToString()) %> 
     </p> 
    </form> 
</body> 
</html> 
+1

你是否在回發場景中,/ test/posbacking爲/test/default.aspx?或頁面發佈到其他頁面? – jbl 2013-02-25 17:06:43

+0

我的測試頁儘可能簡單。沒有runat =服務器控件,只是一個文本輸入和一個提交按鈕。 – 2013-02-25 17:19:32

+0

而Request.Form [「textinputname」]沒有值?請發佈您的簡單html頁面(輸入應該有id和name屬性) – jbl 2013-02-25 17:27:19

回答

0

我有過類似的問題在遷移到IIS7老站點從IIS6,我敢肯定這是一個web.config問題。

弄明白的最快方法是設置

<validation validateIntegratedModeConfiguration="true" /> 

它會拋出異常,直到你有集成模式有效的web.config文件。

很多時候也有配置值適用於IIS6不會遷移到IIS7和隱藏

仔細檢查模塊和處理程序定義他們必須在不同的地方:

在IIS6他們到<system.web>元素

在IIS7中,它們是<system.webServer>元素

+0

感謝您的提示,我添加了驗證標籤,但我沒有錯誤 – 2013-02-25 17:25:45

+0

@TomEsterez檢查如果所有來自iis6的模塊和處理程序都在iis7中加載 – giammin 2013-02-25 17:26:47

+0

我該怎麼做? – 2013-02-25 17:45:38