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>
4

1 に答える 1

0

古いサイトを IIS6 から IIS7 に移行する際にも同様の問題がありましたが、これは web.config の問題であると確信しています。

それを理解する最も速い方法は、設定することです

<validation validateIntegratedModeConfiguration="true" />

統合モードの有効な web.config が作成されるまで、例外がスローされます。

多くの場合、IIS6 で有効な構成値が IIS7 に移行されず、非表示になっています。

モジュールとハンドラーの定義を再確認してください。それらは別の場所にある必要があります。

IIS6では、それらは<system.web>要素になっています

IIS7では、それらは<system.webServer>要素になっています

于 2013-02-25T17:03:56.247 に答える