どのように私はのhttpHandlersを使用してからIIS7を停止することができますか?
-
23-09-2019 - |
質問
私は、IIS7で遊ぶのビットを持つだけのglobal.asaxに手動でキャッチイベントにしようとすると、完全にASP HTTPHandlerのパイプラインをスキップしています。この目的を達成するために、私が設定した
<httpHandlers>
<clear/>
</httpHandlers>
<httpModules>
<clear/>
</httpModules>
私は、サーバーを呼び出すとき、私はYSODを取得
[HttpException]: No http handler was found for request type 'GET'
at System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig)
at System.Web.HttpApplication.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
私は完全に従来のパイプラインを使用して物事を処理するからIISを防ぐために行う必要がありますか?私が欲しいのは、単にHttpApplication.Init
に設定するイベントハンドラと非同期メソッドでResponse.Writesを行うことです編集:私の質問は、OBVました。不明瞭なビット(申し訳ありませんその時間無駄にして誰にも) - 私は私がやろうとしていることはかなり型破りであるとして、より良い説明している必要があります。 HttpApplicationで非同期メソッドにハンドラを配線することで - 私はNode.jsのと同様の方法でWebリクエストを処理するためにIISを使用することができるかどうかを確認しようとしています。この目的を達成するために、私は私がのhttpHandlersを使用したくないので、ASPがグラグラを投げて停止する必要があります。現在、私の最善の策は、すべての要求に対してNullHttpHandlerを使用することですが、私は完全のHttpHandlerシステムを無効にすることができれば、私は思ったんだけど。あなたのアイデア!
解決
あなたはIISが必要です。リクエストは、IISパイプラインで開始し、ASP .NETのためにそれを処理するために、A HTTPハンドラを見つけることができるようにする必要性をIIS、それはへの要求を渡すことができます。それはappropiateハンドラを見つけただけで後はASP .NETに要求を渡します。
他のヒント
あなたはStaticFileHandler再度追加する必要があります:
<httpHandlers>
<clear />
<add verb="*" path="*.jpg" type="System.Web.StaticFileHandler" />
</httpHandlers>
私はそのaが古いビット知っている...しかし、あなた、あなたのIEの場合。ハンドラアサインBeginRequest
のHttpApplication
イベントはこのエラーを取得してはならない、空のweb.configファイルにハンドラ・セクションを残すことができHttpContext.Current.Handler
します。