发布的数据丢失了

时间:2013-02-25 16:59:23

标签: asp.net iis iis-7

我正在从IIS6迁移到IIS7(集成模式)。 我有很多问题,但现在几乎所有的工作都是这样的: 当我在“/”或“/ test /”等网址上发布数据时,会显示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 个答案:

答案 0 :(得分:0)

我有类似的问题将旧网站从IIS6迁移到IIS7,我很确定这是一个web.config问题。

解决问题的最快方法是设置

<validation validateIntegratedModeConfiguration="true" />

在集成模式的有效web.config之前,它将抛出异常。

很多时候,对于IIS6有效的配置值未迁移到IIS7并隐藏

仔细检查模块和处理程序的定义,它们必须位于不同的地方:

在IIS6中,它们进入<system.web>元素

在IIS7中,它们进入<system.webServer>元素