0

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

ルーティングをオンにすると、< または > を含むリクエストは、必要な'/'ページではなく、のコンテンツを返します。これらを %3C と %3E にエンコードしても、URL の残りの部分に関係なく、ルートにリダイレクトされます。

私が思いついたその場しのぎの解決策への直感的なジェネリック参照のすべてのインスタンスを変更するアプリケーションを通過する必要がなかったらいいのにと思います: /Service/GetItems/T=My.Full.Item.Type. それほど良くもありません。

皆さんありがとう!

4

1 に答える 1

2

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

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

あなたが試すことができるいくつかのことがあります。

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

関連する別のサポート記事を次に示します: http://support.microsoft.com/default.aspx?scid=kb;EN-US;826437

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

于 2009-08-03T15:52:01.410 に答える