Кто-то, кого я знаю, утверждает, что это так, и я декомпилирую System.IO и смотрю в класс Path, и я не вижу, чтобы он выполнял сетевые вызовы. Единственный подозреваемый находится в NormalizePath, где он вызывает PathHelper, который вызывает Win32Native.GetFullPathName. Я не знаю, что это значит.
Они также утверждают, что System.Uri при создании выполняет сетевые вызовы, что я считаю очень невероятным. Я просто не могу поверить в это, учитывая, насколько это невероятно медленным и насколько присущи эти методы.
Может ли кто-нибудь просветить меня?
Редактировать:
Оказывается, Path.Combine (p)
никогда не вызывает сеть, а Path.GetFullName (p)
может. В сценарии, где у вас есть UNC-путь с коротким именем файла (например, «\\ server \ abcdef ~ 1.txt»
), он будет обращаться к сети и пытаться расширить путь, что честно говоря, поражает меня.