1

私の状況は Q 1851155 に似ています:
The HTTP 動詞 POST used to access path '/' is not allowed
(ただし、これは IIS 7 の場合でした。VS 2008 の組み込み Web サーバーを使用しています。IIS 6 または 7 の場合は、フード、それを設定する方法がわかりません。)

私の状況は Q 758780 に似ている可能性があります:
The HTTP verb POST used to access path '/Membership/user/' is not allowed
(これは、リンクの再構成を示唆しています。しかし、これが VS 2008 のビルドにどのように関連するのかはわかりません。 -IIS 6 または 7 の明示的な構成ではなく、Web サーバーで。)

私の状況は Q 5238080 とはまったく異なります:
パスにアクセスするために使用される HTTP 動詞 POST は許可されていません
(私は明示的に POST を使用しています。その質問は LinkBut​​ton を介した間接的な使用に関連しており、このパスの問題ではないようです。)

仮想パス "/" を持つ Web サイトの .aspx ページからの問題のあるコード スニペット:

    <form id="login" method="post" action="/login/">
    ...
    </フォーム>

結果のエラーページ:

    「/」アプリケーションでサーバー エラーが発生しました。
    パス '/login/' へのアクセスに使用される HTTP 動詞 POST は許可されていません。
    ...

これは、Visual Studio 2008 SP (バージョン 9.0.30729.1 SP) を搭載した最新の Windows 7 64 ビットで、デバッグ時に VS の組み込み Web サーバーを使用しています。

この場合、次のエラーが発生
します。
そのフォルダーには、単一のファイル「Default.aspx」が含まれています。

次の 2 つのケースは正しく機能し
ます。
※「デバッグ開始」時はパス「/login/Default.aspx」を使用。

したがって、フォルダーを指定するときに問題が発生し、Web サーバーがそのフォルダーの Default.aspx ページへの参照であると推測する必要があります。ただし、この問題は、VS 2008 でデバッグする場合にのみ発生します (VS 2008 アプリケーションから起動し、asp.net Web サイト ソリューションをロードします)。

質問:
* VS 2008 のビルトイン Web サーバーは、実際には IIS 6 または 7 ですか? もしそうなら、どのように設定しますか?
* そうでない場合、VS 2008 の組み込み Web サーバーが、ファイルではなくフォルダーを指定したときに正しく動作するように指示する方法はありますか?
* そうでない場合、ダウンロードできる代替ソリューションはありますか (開発者ライセンスを更新していないため、現時点では Microsoft サブスクリプションのものをダウンロードできません)。
* ライセンスの更新と VS 2010 へのアップグレードは役に立ちますか? もしそうなら、そのソリューションを機能させるために具体的に何をする必要がありますか?

4

2 に答える 2

1

VS 2008 の組み込み Web サーバーは IIS ではなく、Cassini と呼ばれるものです。それは間違いなく異なった振る舞いをします -- それは私たちがそれを完全に使用するのをやめるか、少なくともバグと見なす前に別のプラットフォームで HTTP エラーを確認するのに十分なほど不安定でした. 違いが大きかったため、Microsoft はIIS Expressを作成して、ローカル開発ストーリーの改善に役立てました。Cassini で HTTP の問題に対処する時間を無駄にする前に、それにアップグレードして問題が解決するかどうかを確認する必要があります。

于 2012-08-24T22:44:26.157 に答える
0

私の知る限り、ページに直接投稿することしかできません。ディレクトリだけに投稿する方法はありません。Index.aspxWebサーバーは、またはに行くつもりだったことを知るのに十分なほど賢くはありませんDefault.aspx。ページへの完全なURLを指定する必要があります。

完全なURLを使用したくない理由はありますか?

于 2012-08-24T22:36:23.787 に答える