Methode zum Bestimmen, ob die Pfadzeichenfolge eine lokale oder Remote-Maschine ist
Was ist der beste Weg, mithilfe von C# oder anderen .NET-Sprache, um festzustellen, ob ein Datei-Pfad-string ist auf dem lokalen Computer oder einem remote-server?
Ist es möglich zu bestimmen, ob ein Pfad string ist der UNC unter Verwendung der folgenden:
new Uri(path).IsUnc
Dass funktioniert großartig für Pfade, die beginnen mit C:\ oder anderen Laufwerksbuchstaben, aber was über Pfade wie:
\\machinename\sharename\directory
\\10.12.34.56\sharename\directory
...wo beide beziehen sich auf die lokale Maschine - diese sind UNC-Pfade sind aber immer noch lokal.
InformationsquelleAutor der Frage David Boike | 2008-12-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht wissen, ob es eine effizientere Methode, dies zu tun, aber es scheint zu funktionieren für mich:
InformationsquelleAutor der Antwort Eric Rosenberger
Dies ist, wie ich es Tat.
InformationsquelleAutor der Antwort Renato Heeb
.NET 3.5-version von Eric ' s Antwort mit einem extra überprüfen, ob der host existiert:
InformationsquelleAutor der Antwort David
Sollten die folgenden arbeiten für zugeordnete Laufwerke und UNC-Pfade.
InformationsquelleAutor der Antwort Stephen
Hier ist, wie ich behandelt ein ähnliches Bedürfnis.
InformationsquelleAutor der Antwort Art
Vielleicht
InformationsquelleAutor der Antwort user1471935
Ich weiß nicht von einer einzigen Methode zu überprüfen. Aber vergleichen kann man die Uri ' s
Host
Eigenschaft entweder auf dem lokalen host-Namen oder die IP-Adresse.Erhalten Sie den Namen der lokalen Maschine verwenden:
Dann kann man ein array von IP-Adressen, indem diese Zeichenfolge:
Schalten Sie die Uri ' s
HostNameType
Eigenschaft, wahrscheinlichUriHostNameType.Dns
oderUriHostNameType.IPv4
entsprechen entweder den Namen oder die IP-Adresse.InformationsquelleAutor der Antwort tbetts42