WebForms 3.5でURLをルーティングするシェブロン
-
06-07-2019 - |
質問
古いワイルドカードマッピングベースの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では、これをはるかに簡単に構成できるようにする予定です。