私はWeb.Routingでいくつかの作業を行っており、これを使用して、基本的に単一のIHttpHandlerによってレンダリングされるサイトへのわかりやすいURLとRestのようなインターフェイスを使用しています。Webフォームはありません。ハンドラーは、すべてのhtml / jsonを生成し、プロセスリクエストの一部として書き込みます。
これは、たとえば/ Sites / Accountingのようなものではうまく機能しますが、サイトルート(つまり「/」)では機能しません。
'default.aspx'(cassiniとiisでうまく機能するためにルートフォルダーに保持している空のaspxファイル)を使用して、空の文字列でルートを登録しようとしました。RouteExistingFilesを明示的にfalseに設定しましたが、ルートURLをヒットしたときに何をしても、default.axpxが開きます。これには、継承元のコードがなく、ヒットしたことを示す単純なh1タグが含まれています。
デフォルトファイルを変更して目的のルートにリダイレクトしたくありません。MVCと同様に、他のルートが見つからない場合に適用される「デフォルト」ルートに相当するものが必要です。
参考までに、以前のバージョンのサイトはWeb.Routingを使用していませんでしたが、rootまたはdefault.aspxの要求を完全にインターセプトできるハンドラーがweb.configで参照されていました。
仕様:ASP.NET 3.5sp1、C#、Webフォームなし、MVCまたはopenrasta。プレーンな古いIHttpHandler。