私たちはASP.NET MVCを、system.webServer \ handlersのweb.configに定義されているカスタム&サードパーティHTTPハンドラを使用する大規模なWebアプリケーションに統合しています。このような方法でHTTPハンドラを利用することは、アプリケーションの再コンパイルや、実際のハンドラページを製品の各インスタンスのWebスコープのどこかにディスク上に置く必要がないため、とても役に立ちました。ASP.NETルーティングがweb.configのHttp Handlersセクションよりも優先されるのはなぜですか?
私たちのglobal.asaxに明示的にIgnore Routesを追加する必要があるので、ランタイムはweb.configで定義されたハンドラを尊重することができますか?の後にWeb.Routingが呼び出されてと呼び出されたと思っていましたが、system.webServer \ handlersで定義されたハンドラがチェックされています。
機能が追加されたときにweb.configからハンドラを追加/削除できるモジュールデザインを使用します。 MVCルーティングの導入により、web.configで定義されているすべての可能なハンドラについてglobal.asaxファイルにignore routesを追加する必要があるようです。
これらのハンドラへの実際のファイルはディスク上に存在しないことに注意してください。これらは仮想であり、アセンブリに埋め込まれています。
<system.webServer>
<handlers>
<!-- telerik radcontrols -->
<add name="TelerikDialogHandler" verb="*" path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler, Telerik.Web.UI, Version=2009.1.402.20, Culture=neutral, PublicKeyToken=121fae78165ba3d4"></add>
</handlers>
</system.webServer>
ので、記録のために、あなたがウェブで指定したHTTPハンドラのルートを無視する含める必要がありますSystem.Web.Routing使用する場合:ここでは今、Global.asaxの中でルートを無視明示を要求するサードパーティ製のハンドラの例です。 .Config?あるいは私は何か間違っているのでしょうか?
ルーティングはHttpModuleとして実装されているため、HttpHandlerを選択する前に常に処理されます。 –
あなたはそれを回答Ladislavとして投稿しないでください。 –