問題を簡略化するためのサンプルプロジェクトを作成しました。私はhttp://server/Survey私のハンドラの火災を打ったときに今HTTPハンドラはCassiniを使用して動作しますが、IIS 6は使用しません。
<httpHandlers>
<add verb="*"
path="Survey"
type="HttpHandlerTest.HandleThis, HttpHandlerTest" />
:その後、私の設定では、私はこれを持って
public class HandleThis : IHttpHandler, IRequiresSessionState
{
public void ProcessRequest(System.Web.HttpContext context)
{
// Score.aspx just says "success"
context.Response.Redirect("Score.aspx");
}
public bool IsReusable { get { return true; } }
}
:私はこの単純なハンドラを持っています。
私のプロジェクトをIIS 6で実行するように変更した場合、それは起動しません(404)。 私は経由してIISでハンドラを追加し、手動で試してみました: - Webサイトのプロパティ - ホームディレクトリ - 設定 - 追加(自分のサイトの.dllファイルを参照)、拡張子:調査は、
「というファイルが存在することを確認してください」のチェックを外し私はIISが(とても有益に) "。"私のエクステンションの前で、私は "b.Survey"でそのサイトにヒットしました。まだ404.
確かにIIS 6でハンドラを追加することは可能ですか?
私がそれをすると、私は完全に空の応答を得る。 – dudeNumber4
私はあなたが実際にScore.aspxにリダイレクトされていないと思いますか? IISでワイルドカード(*)マッピングを使用してhttp:// server/survey/URLに移動していますか? – etorrejon
私はちょうど私の問題を認識しました。実行可能パスをaspnetを指し示すように変更した後、私は自分の設定にあったものを修正する必要がありました(私はIISで ".wtf"という拡張子を変更したので、設定をpath = "*。wtf " – dudeNumber4