質問

最近のプロジェクトで、私は PHP で独自の MVC フレームワークを構築しました。私が実装したものの 1 つはルーティング システムです。Apache の mod_rewrite を使用してすべてのリクエストを Index.php に送信し、URI を解析して情報を抽出してリクエストをルーティングしました。

私は現在 ASP.NET に手を出しており、同様のことを実行できるかどうか、またどのように実行できるか考えています。すべてのリクエストを (WordPress の方法と同様に) 中央のルート処理が実行される 1 つのページにルーティングする方法はありますか?ASP.NET の MVC フレームワークについては知っていますが、いろいろいじって学習しながら、自分でもこれに挑戦してみたいと思っています。

編集:ところで、私のホスティングプロバイダーは IIS 6 を実行しています

役に立ちましたか?

解決

やりたいことを達成するためのすべての方法を十分に理解していただきたいので、これは長い答えになります。

ASP.NET MVC フレームワークを強化するルーティング エンジンは、従来の ASP.NET Framework と連携して動作します。ASP.NET MVC アプリケーションと同じように、RouteTable を使用してルートを割り当てることができます。従来の ASP.NET サイトでは MVC 部分を取得できません。これは ASP.NET Framework にとって大きな機能強化であり、そのコードを再利用して両方のフレームワークで動作するようになったのは素晴らしいことです。これについて詳しく知りたい場合は、ScottGu の記事をチェックしてください。 役職 「URL ルーティングの改善」まで下にスクロールします。こちらにもあります 参照 Phil Haack による WebForms での System.Web.Routing の使用方法について。

それでも書きたい場合は、自分で書きましょう。ASP.NET HTTP パイプラインとその実装方法を学ぶ必要があります。 IHttpモジュール そしてその IHttpハンドラ インターフェイスを使用して、ルーティングを処理する独自の HttpModule または HttpHandler クラスを作成します。これらのインターフェイスは、独自のルーティング エンジンを作成する際の鍵となります。これらのインターフェイスを実際のサンプルに組み込むには、これはお勧めできません MSDN の記事 十分。どちらかのインターフェイスの使用方法を示し、独自のルーティング/URL 書き換えエンジンを作成する場合の違いについて説明します。

さて、これはあなたにとって多すぎるかもしれないと気づいたら。すでに .NET でルーティング/URL 書き換えエンジンを作成した人が使用できるサードパーティ ライブラリがあります。これは私が少し前に見た質問です。「ASP.Net にはどの URL リライターを使用していますか?「ここSOです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top