問題タブ [ignoreroute]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc-2 - このIgnoreRoute呼び出しがこれらの要求と一致するのはなぜですか?
ASP.Net MVC2コンテンツフォルダーのコンテキストで実行されているローカリゼーションhttphandlerがあります(その実行の一部は、/ Content / cssにある.lessファイルのコンパイルです)。この特定のリクエストセットのデフォルトルートは次のようになります。
(余談ですが、関連性はないと思いますが、念のために、要求が渡されたアプリケーションパス/仮想ディレクトリからのものでない場合、VirtualDirectoryConstraintはこのルートでの一致を拒否します)
この構成では、http://server.net/VDirectory1/Content/css/LessCompiler.axd
ContentControllerクラスがないため、への呼び出しは失敗します。すべてうまくいっています。
追加すると
その呼び出しは成功しますが、その後の呼び出しは
と
fail. Looking at Phil Haack's RouteDebugger tool, those calls are matching the Content IgnoreRoute route:
and are therefore not being routed to the LocalizationController and AuthorizationController, respectively.
Clearly I'm misunderstanding something about how the IgnoreRoute is supposed to be used and why that particular IgnoreRoute is matching those requests. What am I missing?
asp.net-mvc - RouteCollection.Ignore と RouteCollection.IgnoreRoute の違いは?
RouteCollection.Ignore(url, constraints)
とはどう違いRouteCollection.IgnoreRoute(url, constraints)
ますか?
バックグラウンド
新しい MVC プロジェクトには、このIgnoreRoute
呼び出しが Global.asaxRegisterRoutes
メソッドに含まれており、ASP.NET システムの他の場所で処理される .axd の場所への要求のルーティングをスキップします。
プロジェクトに無視されたルートを追加したかったので、新しい行を入力し始めました。の後、インテリセンスがとでroutes.I
ポップアップしますが、どちらもほぼ同じように聞こえます。.Ignore
.IgnoreRoute
System.Web.Routing.RouteCollection
MSDN ドキュメントによると、1 つはクラスのインスタンス メソッドであり、もう 1 つはそのクラスの拡張メソッドであることがわかりますSystem.Web.Mvc.RouteCollectionExtensions
。
RouteCollection.Ignore
: 「リクエスト URL が指定された制約を満たしている場合、ルートとの一致をチェックしない URL パターンを定義します」( MSDN ドキュメント)。RouteCollection.IgnoreRoute
: 「指定された使用可能なルートのリストと制約のリストに対して、指定された URL ルートを無視します」( MSDN ドキュメント)。
どちらも、ルート URL パターンと、その URL パターンでのルートの適用を制限する一連の制約を取ります。
asp.net-mvc - IgnoreRoute doesn't seem to work in my mixed MVC and ASP.NET application
I am routing existing aspx files to a mvc controller to test things out, I wanted to also have a way to ignore the routing using IgnoreRoute, then I can just comment in or out that one line to switch between the aspx and MVC versions. e.g. a/b/mypage.aspx routed to controller = Billy, action = Index.
Here's what I tried where the MapRoute should have no effect because of a previous IgnoreRoute call:
Here's my understanding of what should happen...
RouteExistingFile
s is so that the aspx file that does exist will be considered for routing.
axd files will not be routed
aspx files will not be routed
the map route should have no effect as mypage.aspx
should be ignored by the previous IgnoreRoute
line.
The problem is the IgnoreRoute
for the aspx doesn't seem to change anything, the MapRoute
still happens.
Any help appreciated.
asp.net-mvc - ASP.NET MVC ルート マップ
ASP.NET MVC ルート マップを修正するのを手伝ってください。
ActionLink を含むメニュー項目があります。
<li>@Html.ActionLink("Articles", "List", "Article")</li>
ホームページでは次のように表示されます
localhost/Article
。これで問題ありません。
しかし、URL のある具体的な記事ページでlocalhost/Article/List/11
は、私のメニュー リンクは同じです。
localhost/Article/List/11
しかし、私は必要ですlocalhost/Article
私のルートマップコードは次のとおりです。
コントローラーコードは次のとおりです。
routing - ServiceStack 4: フォールバック ルートで favicon.ico を無視する
ServiceStack.Razor で多かれ少なかれ静的な Web サイトを構築しており、ルートは次のパターンとして定義されています: favicon.ico を無視しようとしていますが、「/」や「/en-us」などのパスを HomeScenario にルーティングしています。 . 他のサンプル ルートは /{Lang}/cook または /{Lang}/cheer などです。
残念ながら、私の現在のアプローチは favicon.ico を無視していません。うまくいけば余分なコードをたくさん書かずにこれを実装したいと思います。
これがデフォルトのリクエストです
c# - この無視ルートがどのように機能するかを誰かが説明できますか?
そのため、ASMX Web サービスを MVC4 に追加しましたが、それにアクセスしようとすると、「リソースが見つかりませんでした」というエラーが発生しました。検索した結果、ここに答えが見つかりました。
つまり、次の IgnoreRoute を RouteConfig ファイルに追加する必要がありました。
MVC の MapRoute 関数はかなりよく理解していますが、IgnoreRoute はあまり理解していません。.asmx ポストフィックスをターゲットにしていることは理解していますが、このクイック フィックスの方法と理由についてはわかりません。
この IgnoreRoute はどのように機能し、MVC アプリが魔法のように Web サービスを見つけて実行する方法を理解できるようになるのはなぜでしょうか? ところで、現在、私の唯一のマップされたルートはデフォルトですが、MapRoute または別の修正を使用してこの問題を解決する別の/より良い方法はありますか?
asp.net-mvc - *.config ファイルの IgnoreRoute はどこにありますか?
*.config ファイルの IgnoreRoute はありませんが、web.config または .config 拡張子を持つその他のファイルを要求できません。
この制限は正確にどこで定義されていますか?