8

さて、URLとURIのこの1つの違いのような優れた答えを消化したので、私は2つの違いを理解したと思います。

私が今理解していないのは、.NET FrameworkにUriBuilderクラスがある理由です。このクラスは、私が知る限り、リソースロケーターであるURIでのみ機能するため、適切にUrlBuilderと呼ばれる必要があります。

リソースロケーターではないUriBuilderURIを構築するために使用された例を誰かに教えてもらえますか?または、.NET Frameworkの設計におけるこの決定の理由は何ですか?

4

2 に答える 2

14

考えてみると、aUriBuilderは URL ビルダーよりも強力で幅広いものです。すべての URL は URI であるため、UriBuilder は本質的に URL ビルダーです。

したがって、基本的に問題は、URL 以外の URI に UriBuilder をいつ使用できるかということです。うーん、一番良い例はURNだと思います (URL と URN は基本的にロケーターと名前であり、URI の 2 つの分類です)。URN は、たとえば、uuid (つまりurn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66) または ISBN (つまりISBN 0-486-27557-4) を作成するために使用できます。これらの URN には、URL のようにリソースを指す位置情報は含まれず、名前または ID のみが含まれます。UriBuilder は URL (リソースを指す) だけでなく、URN も構築できます。Uri.Scheme プロパティを見ると、Uri の可能なスキームのリストに uuid が表示されます。

また、.NET には技術的UrlBuilder クラスがあります。

于 2012-07-12T01:24:57.567 に答える
0
Uri _uri = new Uri(URL);
            string tURL = _uri.Scheme + "://" + _uri.Host + _uri.LocalPath;
            Console.WriteLine("Before: " + tURL);
            uri = new UriBuilder(tURL);
            Console.WriteLine("After:  " + uri.Uri.ToString());
于 2012-07-18T14:25:41.943 に答える