空のパスコンポーネントを持つURLをSystem.Uriで表すことはできますか?空のパスを持つUri
私は
new Uri("http://example.com")
を作成するたびにネットは、(4)それによって、異なるURLを作成し、末尾にスラッシュを追加することを主張しているようです。言い換えれば、
new Uri("http://example.com").ToString()
リターン「http://example.com/」と
new Uri("http://example.com").Equals(new Uri("http://example.com/")) == true
は(RFC 3986による)この壊れた行動を抑制することができるか、私は自分自身のクラスをロールバックする必要がありますか?
更新:
一般に、
空のパスと権威のための一般的な構文を使用してURIを正規化する必要があります。私はセクション6.2.3でこれを逃したように見えます"/"のパスに移動します。
ただし、これは任意ですが、だから問題は残っています:Uriはこれをしないようにできますか?
http://en.wikipedia.org/wiki/URL_normalization "httpおよびhttps URLの場合、RFC 3986に記載されている次の正規化により、同等のURLが生成される可能性がありますが、標準では保証されません。 **末尾の追加/ **ディレクトリには末尾にスラッシュが付き、URLには " –
@ TimSchmelter Right"が含まれている必要があります。したがって、.Netは "通常はセマンティクスを保持する正規化"を適用しています。つまり、それは必ずしも正しいとは言えません。私の場合、それは間違っています。 質問は次のとおりです:無効にすることはできますか? – arbitrix
@arbitrixあなたはなぜあなたにとって重要なのか説明できますか?なぜそれは「死んだの? – svick