質問

古いワイルドカードマッピングベースのURLシステムをSystem.Web.Routingを使用するようにアップグレードしました。以前は、URL /Service/GetItems<My.Full.Item.Type>を要求することができました。これは、反対側で解析され、予想どおりに返されました。それはきちんとしていた。

今、ルーティングをオンにして、<!> lt;または<!> gt;その中で、私が欲しかったページの代わりに'/'の内容を返します。これらを%3Cと%3Eにエンコードしても、URLの残りの部分に関係なく、ルートにリダイレクトされます。

直観的な汎用参照のすべてのインスタンスを、私が思いついた仮設ソリューションに変更するアプリケーションを実行する必要がなかった場合、/Service/GetItems/T=My.Full.Item.Typeが必要です。あまり良くありません。

ありがとう!

役に立ちましたか?

解決

URLで文字制限の問題が発生しているようです。これはルーティングとは関係なく、ASP.NETがURL内の特定の文字をブロックすることに注意してください。

以前にURL書き換えで機能したのはなぜですか?最も可能性が高いのは、ASP.NETに引き渡される前に、クエリ文字列にこれらの文字が含まれるようにURLが書き換えられたためです。

試してみることができます。

制限された文字を許可するレジストリ設定 http://support.microsoft.com/kb/820129

関連する別のサポート記事は次のとおりです。 http:// support.microsoft.com/default.aspx?scid=kb;EN-US;826437

ASP.NET 4では、これをはるかに簡単に構成できるようにする予定です。

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