Выполняет ли Path.Combine когда-либо сетевые вызовы в .net?

Кто-то, кого я знаю, утверждает, что это так, и я декомпилирую System.IO и смотрю в класс Path, и я не вижу, чтобы он выполнял сетевые вызовы. Единственный подозреваемый находится в NormalizePath, где он вызывает PathHelper, который вызывает Win32Native.GetFullPathName. Я не знаю, что это значит.

Они также утверждают, что System.Uri при создании выполняет сетевые вызовы, что я считаю очень невероятным. Я просто не могу поверить в это, учитывая, насколько это невероятно медленным и насколько присущи эти методы.

Может ли кто-нибудь просветить меня?

Редактировать: Оказывается, Path.Combine (p) никогда не вызывает сеть, а Path.GetFullName (p) может. В сценарии, где у вас есть UNC-путь с коротким именем файла (например, «\\ server \ abcdef ~ 1.txt» ), он будет обращаться к сети и пытаться расширить путь, что честно говоря, поражает меня.

6
задан justin.m.chase 15 February 2012 в 18:44
поделиться