2012-05-03 15 views
0

urlを含むRESTハンドラによって返されるUTF-8 XMLがあります。これらのURLは次のようになり、UTF-8準拠するようにエスケープアンパサンド(&)を、持っている:ASP.NET - リクエストパラメータと "&"セパレータの問題

http://domain.com?param1=a&param2=b 

問題は、これがその後、切断されたとき/ブラウザに貼り付け、結果が正しくない、ですエスケープされたアンパサンドに基づいて分離します。以下は例です:

これは動作します:

http://api.citysourced.com/reportimage.ashx?reportid=30885&imagesize=Small 

これらにはありません。

http://api.citysourced.com/reportimage.ashx?reportid=30885&imagesize=Small 
http://api.citysourced.com/reportimage.ashx?reportid=30885%26imagesize=Small 

は私のIISの設定(IIS 6)であり問題ですか?上記のハンドラは、C#.NET 4.0で書かれた標準汎用ハンドラです。

私はここで他の記事を見てきましたが、どれも正しい答えはありません。

ありがとうございました。

+0

XMLを実際のXMLパーサー(Notepadなどのプログラムや正規表現の誤った取り扱いをするプログラムとは対照的に)で読み込むと、 'http://domain.com?param1 = a&param2 = b'という結果になります。動作するURLこれらのURLが機能しないとわかる理由はありません。彼らはなぜ彼らが働くべきだと思うか説明できますか? – hvd

答えて

0

IISの設定に問題はありません。 XMLにはエスケープしなければならない特定のpredefined entities(文字)があります。それ以外の場合は、ドキュメントが破損します。データを消費するときにエスケープする必要があります。