2009-07-28 10 views

答えて

0

ルーティングエンジンにこの要求を無視して、それをASP.NET Webフォームに残して処理させるように指示します。

これは、elmah.axdハンドラを使用するELMAHロギングなどに便利です。

2

これがなければ、ASP.NETはすべての要求をコントローラとアクションにAXDハンドラにマップしようとします。 ignoreRouteを指定すると、URLはデフォルトの動作に従ってURLをコントローラにマップしません。

3

.axdファイルは、HTTPハンドラによって処理される仮想ファイルです。それらは、AJAXコントロールなどのために自動的に生成されたjavascriptなど、さまざまなリソースをWebページに配信するために使用されます。

これらは仮想ファイルなので、ルーティングエンジンがこれらの要求をコントローラにマップすることは望ましくありません。 ASP.NETで直接実行する必要があります。

これは、これが達成したことです。

11

これは、MVCの学習に関する本当に不満なことの1つです。この機能のドキュメントはひどいです。そこにはほとんど何もありません:http://msdn.microsoft.com/en-us/library/dd470170(VS.100).aspx

routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

これは、すべてのsomething.axdファイルは、MVCの外で実行することができます - 「{*パス情報は}」最後にクエリ文字列が(ワイルドカードのそれのようなもの)は無視されることを可能にすること。ので、これはパスにそのようなワイルドカードを適用しません

注:

trace.axd?clear=1 //excluded from MVC 

mySubFolder/customResource.axd //MVC passed to mySubFolderController.customResource() 

参考。私は "{resource}"と "{* pathInfo}"とは別に、キーワードとしてサポートされているものとないものをまともに見つけられませんでした。

しかし、ほとんど完全に文書化されていない機能がありますこれらは無視路線を超える多くのコントロール:

//ignore all WebForms .aspx/.asmx/.ashx calls anywhere 
routes.IgnoreRoute("{*allaspx}", new { allaspx = @".*\.as[pmh]x(/.*)?" }); 

、プロパティと非導初期化オブジェクトを渡すと、そのプロパティを使用すると、ルートで使用できるキーワードになります。

ルートに正規表現を渡すことはできませんが、このアノテーションプロパティで行うことができます。

関連する問題