Warum hat .NET einen UriBuilder im Gegensatz zu einem UrlBuilder?

8

OK, also habe ich solche ausgezeichneten Antworten wie diesen Unterschied zwischen URLs und URIs verdaut, ich glaube, ich verstehe jetzt die Unterscheidung zwischen den beiden.

Was ich jetzt nicht verstehe, ist, warum das .NET Framework eine UriBuilder-Klasse hat, die - soweit ich das beurteilen kann - nur auf URIs funktioniert, die Ressourcen Locators und sollte daher richtig als UrlBuilder bezeichnet werden.

Kann mir jemand ein Beispiel geben, in dem UriBuilder verwendet wird, um einen URI zu erstellen, der nicht ein Ressourcen-Locator ist? Oder einige Gründe für diese Entscheidung im Design des .NET-Frameworks?

    
Dylan Beattie 09.07.2012, 10:07
quelle

2 Antworten

14

Wenn Sie darüber nachdenken, ist UriBuilder mächtiger und breiter als ein URL-Builder. Da jede URL ein URI ist, ist ein UriBuilder inhärent ein URL-Generator.

Es stellt sich also grundsätzlich die Frage, wann Sie einen UriBuilder für einen Nicht-URL-URI verwenden könnten. Nun, ich denke, das beste Beispiel wäre ein URN (da URLs und URNs im Grunde Locators und Namen sind - die beiden Klassifikationen von URIs). Eine URN könnte beispielsweise verwendet werden, um eine UUID (d. H.% Co_de%) oder eine ISBN (d. H.% Co_de%) zu bilden. Diese URNs enthalten keine Standortinformationen, die auf eine Ressource wie URLs verweisen, sie enthalten nur Namen oder IDs. Ein UriBuilder könnte nicht nur URLs (die auf eine Ressource verweisen) erstellen, sondern auch URNs erstellen. Wenn Sie sich die Uri.Scheme-Eigenschaft ansehen, sehen Sie die UUID in der Liste möglicher Regelungen für einen Uri.

Außerdem hat .NET technisch eine UrlBuilder-Klasse .

    
Michael Frederick 12.07.2012, 01:24
quelle
0
%Vor%     
Frank R. 18.07.2012 14:25
quelle

Tags und Links