Uri Klass

Definition

Ger en objektrepresentation av en enhetlig resursidentifierare (URI) och enkel åtkomst till URI:ns delar.

public ref class Uri
public ref class Uri : IEquatable<Uri ^>, ISpanFormattable, System::Runtime::Serialization::ISerializable
public ref class Uri : System::Runtime::Serialization::ISerializable
public ref class Uri : ISpanFormattable, System::Runtime::Serialization::ISerializable
public ref class Uri : MarshalByRefObject, System::Runtime::Serialization::ISerializable
public class Uri
public class Uri : IEquatable<Uri>, ISpanFormattable, System.Runtime.Serialization.ISerializable
public class Uri : System.Runtime.Serialization.ISerializable
public class Uri : ISpanFormattable, System.Runtime.Serialization.ISerializable
[System.Serializable]
public class Uri : MarshalByRefObject, System.Runtime.Serialization.ISerializable
[System.Serializable]
[System.ComponentModel.TypeConverter(typeof(System.UriTypeConverter))]
public class Uri : System.Runtime.Serialization.ISerializable
type Uri = class
type Uri = class
    interface IEquatable<Uri>
    interface IFormattable
    interface ISpanFormattable
    interface ISerializable
type Uri = class
    interface ISerializable
type Uri = class
    interface ISpanFormattable
    interface IFormattable
    interface ISerializable
type Uri = class
    interface IFormattable
    interface ISpanFormattable
    interface IEquatable<Uri>
    interface ISerializable
[<System.Serializable>]
type Uri = class
    inherit MarshalByRefObject
    interface ISerializable
[<System.Serializable>]
[<System.ComponentModel.TypeConverter(typeof(System.UriTypeConverter))>]
type Uri = class
    interface ISerializable
Public Class Uri
Public Class Uri
Implements IEquatable(Of Uri), ISerializable, ISpanFormattable
Public Class Uri
Implements ISerializable
Public Class Uri
Implements ISerializable, ISpanFormattable
Public Class Uri
Inherits MarshalByRefObject
Implements ISerializable
Arv
Uri
Arv
Attribut
Implementeringar

Exempel

I följande exempel skapas en instans av Uri klassen och den används för att utföra en GET-begäran med HttpClient.

Uri siteUri = new Uri("http://www.contoso.com/");

// HttpClient lifecycle management best practices:
// https://learn.microsoft.com/dotnet/fundamentals/networking/http/httpclient-guidelines#recommended-use
HttpClient client = new HttpClient();
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, siteUri);
HttpResponseMessage response = client.Send(request);
let siteUri = Uri "http://www.contoso.com/"

// HttpClient lifecycle management best practices:
// https://learn.microsoft.com/dotnet/fundamentals/networking/http/httpclient-guidelines#recommended-use
use client = new HttpClient ()
use request = new HttpRequestMessage (HttpMethod.Get, siteUri)
use response = client.Send request
Dim siteUri As New Uri("http://www.contoso.com/")

' HttpClient lifecycle management best practices:
' https://learn.microsoft.com/dotnet/fundamentals/networking/http/httpclient-guidelines#recommended-use
Dim client As New HttpClient()
Dim request As New HttpRequestMessage(HttpMethod.Get, siteUri)
Dim response As HttpResponseMessage = client.Send(request)

Följande kodfragment visar exempelvärden för de olika egenskaperna i klassen.

Uri uri = new Uri("https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName");

Console.WriteLine($"AbsolutePath: {uri.AbsolutePath}");
Console.WriteLine($"AbsoluteUri: {uri.AbsoluteUri}");
Console.WriteLine($"DnsSafeHost: {uri.DnsSafeHost}");
Console.WriteLine($"Fragment: {uri.Fragment}");
Console.WriteLine($"Host: {uri.Host}");
Console.WriteLine($"HostNameType: {uri.HostNameType}");
Console.WriteLine($"IdnHost: {uri.IdnHost}");
Console.WriteLine($"IsAbsoluteUri: {uri.IsAbsoluteUri}");
Console.WriteLine($"IsDefaultPort: {uri.IsDefaultPort}");
Console.WriteLine($"IsFile: {uri.IsFile}");
Console.WriteLine($"IsLoopback: {uri.IsLoopback}");
Console.WriteLine($"IsUnc: {uri.IsUnc}");
Console.WriteLine($"LocalPath: {uri.LocalPath}");
Console.WriteLine($"OriginalString: {uri.OriginalString}");
Console.WriteLine($"PathAndQuery: {uri.PathAndQuery}");
Console.WriteLine($"Port: {uri.Port}");
Console.WriteLine($"Query: {uri.Query}");
Console.WriteLine($"Scheme: {uri.Scheme}");
Console.WriteLine($"Segments: {string.Join(", ", uri.Segments)}");
Console.WriteLine($"UserEscaped: {uri.UserEscaped}");
Console.WriteLine($"UserInfo: {uri.UserInfo}");

// AbsolutePath: /Home/Index.htm
// AbsoluteUri: https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName
// DnsSafeHost: www.contoso.com
// Fragment: #FragmentName
// Host: www.contoso.com
// HostNameType: Dns
// IdnHost: www.contoso.com
// IsAbsoluteUri: True
// IsDefaultPort: False
// IsFile: False
// IsLoopback: False
// IsUnc: False
// LocalPath: /Home/Index.htm
// OriginalString: https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName
// PathAndQuery: /Home/Index.htm?q1=v1&q2=v2
// Port: 80
// Query: ?q1=v1&q2=v2
// Scheme: https
// Segments: /, Home/, Index.htm
// UserEscaped: False
// UserInfo: user:password
let uri = Uri "https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName"

printfn $"AbsolutePath: {uri.AbsolutePath}"
printfn $"AbsoluteUri: {uri.AbsoluteUri}"
printfn $"DnsSafeHost: {uri.DnsSafeHost}"
printfn $"Fragment: {uri.Fragment}"
printfn $"Host: {uri.Host}"
printfn $"HostNameType: {uri.HostNameType}"
printfn $"IdnHost: {uri.IdnHost}"
printfn $"IsAbsoluteUri: {uri.IsAbsoluteUri}"
printfn $"IsDefaultPort: {uri.IsDefaultPort}"
printfn $"IsFile: {uri.IsFile}"
printfn $"IsLoopback: {uri.IsLoopback}"
printfn $"IsUnc: {uri.IsUnc}"
printfn $"LocalPath: {uri.LocalPath}"
printfn $"OriginalString: {uri.OriginalString}"
printfn $"PathAndQuery: {uri.PathAndQuery}"
printfn $"Port: {uri.Port}"
printfn $"Query: {uri.Query}"
printfn $"Scheme: {uri.Scheme}"
printfn $"""Segments: {String.Join(", ", uri.Segments)}"""
printfn $"UserEscaped: {uri.UserEscaped}"
printfn $"UserInfo: {uri.UserInfo}"

// AbsolutePath: /Home/Index.htm
// AbsoluteUri: https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName
// DnsSafeHost: www.contoso.com
// Fragment: #FragmentName
// Host: www.contoso.com
// HostNameType: Dns
// IdnHost: www.contoso.com
// IsAbsoluteUri: True
// IsDefaultPort: False
// IsFile: False
// IsLoopback: False
// IsUnc: False
// LocalPath: /Home/Index.htm
// OriginalString: https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName
// PathAndQuery: /Home/Index.htm?q1=v1&q2=v2
// Port: 80
// Query: ?q1=v1&q2=v2
// Scheme: https
// Segments: /, Home/, Index.htm
// UserEscaped: False
// UserInfo: user:password

Kommentarer

Mer information om det här API:et finns i Kompletterande API-kommentarer för URI.

Konstruktorer

Name Description
Uri(SerializationInfo, StreamingContext)
Föråldrad.

Initierar en ny instans av Uri klassen från de angivna instanserna av SerializationInfo klasserna och StreamingContext .

Uri(String, Boolean)
Föråldrad.
Föråldrad.
Föråldrad.
Föråldrad.

Initierar en ny instans av Uri klassen med den angivna URI:n, med explicit kontroll över tecken som flyr.

Uri(String, UriCreationOptions)

Initierar en ny instans av Uri klassen med angiven URI och ytterligare UriCreationOptions.

Uri(String, UriKind)

Initierar en ny instans av Uri klassen med angiven URI. Med den här konstruktorn kan du ange om URI-strängen är en relativ URI, absolut URI eller är obestämd.

Uri(String)

Initierar en ny instans av Uri klassen med angiven URI.

Uri(Uri, String, Boolean)
Föråldrad.
Föråldrad.
Föråldrad.
Föråldrad.

Initierar en ny instans av Uri klassen baserat på angivna bas- och relativa URI:er, med explicit kontroll över tecken som flyr.

Uri(Uri, String)

Initierar en ny instans av Uri klassen baserat på den angivna bas-URI:n och den relativa URI-strängen.

Uri(Uri, Uri)

Initierar en ny instans av Uri klassen baserat på kombinationen av en angiven basinstans Uri och en relativ Uri instans.

Fält

Name Description
SchemeDelimiter

Anger de tecken som skiljer kommunikationsprotokollschemat från adressdelen av URI:n. Detta fält är skrivskyddat.

UriSchemeData

Ger en objektrepresentation av en enhetlig resursidentifierare (URI) och enkel åtkomst till URI:ns delar.

UriSchemeFile

Anger att URI:n är en pekare till en fil. Detta fält är skrivskyddat.

UriSchemeFtp

Anger att URI:n nås via File Transfer Protocol (FTP). Detta fält är skrivskyddat.

UriSchemeFtps

Anger att URI:n nås via FTPS (File Transfer Protocol Secure). Detta fält är skrivskyddat.

UriSchemeGopher

Anger att URI:n nås via Gopher-protokollet. Detta fält är skrivskyddat.

UriSchemeHttp

Anger att URI:n nås via Hypertext Transfer Protocol (HTTP). Detta fält är skrivskyddat.

UriSchemeHttps

Anger att URI:n nås via HTTPS (Secure Hypertext Transfer Protocol). Detta fält är skrivskyddat.

UriSchemeMailto

Anger att URI:n är en e-postadress och nås via SMTP (Simple Mail Transport Protocol). Detta fält är skrivskyddat.

UriSchemeNetPipe

Anger att URI:n nås via NetPipe-schemat som används av Windows Communication Foundation (WCF). Detta fält är skrivskyddat.

UriSchemeNetTcp

Anger att URI:n nås via NetTcp-schemat som används av Windows Communication Foundation (WCF). Detta fält är skrivskyddat.

UriSchemeNews

Anger att URI:n är en internetnyhetsgrupp och nås via NNTP (Network News Transport Protocol). Detta fält är skrivskyddat.

UriSchemeNntp

Anger att URI:n är en internetnyhetsgrupp och nås via NNTP (Network News Transport Protocol). Detta fält är skrivskyddat.

UriSchemeSftp

Anger att URI:n nås via SSH File Transfer Protocol (SFTP). Detta fält är skrivskyddat.

UriSchemeSsh

Anger att URI:n nås via SSH (Secure Socket Shell Protocol). Detta fält är skrivskyddat.

UriSchemeTelnet

Anger att URI:n nås via Telnet-protokollet. Detta fält är skrivskyddat.

UriSchemeWs

Anger att URI:n nås via WebSocket-protokollet (WS). Detta fält är skrivskyddat.

UriSchemeWss

Anger att URI:n nås via WebSocket Secure Protocol (WSS). Detta fält är skrivskyddat.

Egenskaper

Name Description
AbsolutePath

Hämtar den absoluta sökvägen för URI:n.

AbsoluteUri

Hämtar den absoluta URI:n.

Authority

Hämtar DNS-värdnamnet (Domain Name System) eller IP-adressen och portnumret för en server.

DnsSafeHost

Hämtar ett värdnamn som, efter att ha blivit ofrånkomlig vid behov, är säkert att använda för DNS-matchning.

Fragment

Hämtar det förrymda URI-fragmentet, inklusive det inledande #-tecknet om det inte är tomt.

Host

Hämtar värdkomponenten för den här instansen.

HostNameType

Hämtar den typ av värdnamn som anges i URI:n.

IdnHost

Hämtar RFC 3490-kompatibelt internationellt domännamn för värden med punycode efter behov. Den här strängen är säker att använda för DNS-matchning efter att den inte har kapslades om det behövs.

IsAbsoluteUri

Hämtar ett värde som anger om instansen Uri är absolut.

IsDefaultPort

Hämtar ett värde som anger om portvärdet för URI:n är standardvärdet för det här schemat.

IsFile

Hämtar ett värde som anger om den angivna Uri är en fil-URI.

IsLoopback

Hämtar ett värde som anger om den angivna Uri refererar till den lokala värden.

IsUnc

Hämtar ett värde som anger om den angivna Uri är en UNC-sökväg (Universal Naming Convention).

LocalPath

Hämtar en lokal operativsystemrepresentation av ett filnamn.

OriginalString

Hämtar den ursprungliga URI-strängen Uri som skickades till konstruktorn.

PathAndQuery

AbsolutePath Hämtar egenskaperna och Query avgränsade med ett frågetecken (?).

Port

Hämtar portnumret för den här URI:n.

Query

Hämtar all frågeinformation som ingår i den angivna URI:n, inklusive det inledande tecknet ? om det inte är tomt.

Scheme

Hämtar schemanamnet för den här URI:n.

Segments

Hämtar en matris som innehåller sökvägssegmenten som utgör den angivna URI:n.

UserEscaped

Hämtar ett värde som anger om URI-strängen var helt undantagen innan instansen Uri skapades.

UserInfo

Hämtar användarnamn, lösenord eller annan användarspecifik information som är associerad med den angivna URI:n.

Metoder

Name Description
Canonicalize()
Föråldrad.
Föråldrad.
Föråldrad.

Konverterar den internt lagrade URI:n till kanoniskt format.

CheckHostName(String)

Avgör om det angivna värdnamnet är ett giltigt DNS-namn.

CheckSchemeName(String)

Avgör om det angivna schemanamnet är giltigt.

CheckSecurity()
Föråldrad.
Föråldrad.
Föråldrad.

Att anropa den här metoden har ingen effekt.

Compare(Uri, Uri, UriComponents, UriFormat, StringComparison)

Jämför de angivna delarna av två URI:er med hjälp av de angivna jämförelsereglerna.

CreateObjRef(Type)

Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt.

(Ärvd från MarshalByRefObject)
Equals(Object)

Jämför två Uri instanser för likhet.

Equals(Uri)

Jämför två Uri instanser för likhet.

Escape()
Föråldrad.
Föråldrad.
Föråldrad.

Konverterar eventuella osäkra eller reserverade tecken i sökvägskomponenten till deras hexadecimala teckenrepresentationer.

EscapeDataString(ReadOnlySpan<Char>)

Konverterar ett intervall till den undantagna representationen.

EscapeDataString(String)

Konverterar en sträng till dess undantagna representation.

EscapeString(String)
Föråldrad.
Föråldrad.
Föråldrad.
Föråldrad.

Konverterar en sträng till dess undantagna representation.

EscapeUriString(String)
Föråldrad.
Föråldrad.

Konverterar en URI-sträng till dess undantagna representation.

FromHex(Char)

Hämtar decimalvärdet för en hexadecimal siffra.

GetComponents(UriComponents, UriFormat)

Hämtar de angivna komponenterna i den aktuella instansen med den angivna escapeingen för specialtecken.

GetHashCode()

Hämtar hash-koden för URI:n.

GetLeftPart(UriPartial)

Hämtar den angivna delen av en Uri instans.

GetLifetimeService()
Föråldrad.

Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)

Returnerar de data som behövs för att serialisera den aktuella instansen.

GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
HexEscape(Char)

Konverterar ett angivet tecken till dess hexadecimala motsvarighet.

HexUnescape(String, Int32)

Konverterar en angiven hexadecimal representation av ett tecken till tecknet.

InitializeLifetimeService()
Föråldrad.

Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
IsBadFileSystemCharacter(Char)
Föråldrad.
Föråldrad.
Föråldrad.

Anger om ett tecken är ogiltigt i ett filsystemnamn.

IsBaseOf(Uri)

Avgör om den aktuella Uri instansen är en bas för den angivna Uri instansen.

IsExcludedCharacter(Char)
Föråldrad.
Föråldrad.
Föråldrad.

Avgör om det angivna tecknet ska vara undantaget.

IsHexDigit(Char)

Avgör om ett angivet tecken är en giltig hexadecimal siffra.

IsHexEncoding(String, Int32)

Avgör om ett tecken i en sträng är hexadecimalt kodat.

IsReservedCharacter(Char)
Föråldrad.
Föråldrad.
Föråldrad.

Avgör om det angivna tecknet är ett reserverat tecken.

IsWellFormedOriginalString()

Anger om strängen som användes för att konstruera detta Uri var välformulerad och inte kräver ytterligare utrymning.

IsWellFormedUriString(String, UriKind)

Anger om strängen är välformulerad genom att försöka konstruera en URI med strängen och ser till att strängen inte kräver ytterligare utrymning.

MakeRelative(Uri)
Föråldrad.
Föråldrad.
Föråldrad.
Föråldrad.

Avgör skillnaden mellan två Uri instanser.

MakeRelativeUri(Uri)

Avgör skillnaden mellan två Uri instanser.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
Parse()
Föråldrad.
Föråldrad.
Föråldrad.

Parsar URI:n för den aktuella instansen för att säkerställa att den innehåller alla delar som krävs för en giltig URI.

ToString()

Hämtar en kanonisk strängrepresentation för den angivna Uri instansen.

TryCreate(String, UriCreationOptions, Uri)

Skapar en ny Uri med den angivna String instansen och UriCreationOptions.

TryCreate(String, UriKind, Uri)

Skapar en ny Uri med den angivna String instansen och en UriKind.

TryCreate(Uri, String, Uri)

Skapar en ny Uri med angivna bas- och relativa String instanser.

TryCreate(Uri, Uri, Uri)

Skapar en ny Uri med angivna bas- och relativa Uri instanser.

TryEscapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32)

Försöker konvertera ett intervall till dess undantagna representation.

TryFormat(Span<Char>, Int32)

Försöker formatera en kanonisk strängrepresentation för instansen Uri till det angivna intervallet.

TryUnescapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32)

Försöker konvertera ett spann till dess ej kapslade representation.

Unescape(String)
Föråldrad.
Föråldrad.
Föråldrad.

Konverterar den angivna strängen genom att ersätta eventuella escape-sekvenser med deras ej kapslade representation.

UnescapeDataString(ReadOnlySpan<Char>)

Konverterar ett spann till dess icke kapslade representation.

UnescapeDataString(String)

Konverterar en sträng till dess icke kapslade representation.

Operatorer

Name Description
Equality(Uri, Uri)

Avgör om två Uri instanser har samma värde.

Inequality(Uri, Uri)

Avgör om två Uri instanser inte har samma värde.

Explicita gränssnittsimplementeringar

Name Description
IFormattable.ToString(String, IFormatProvider)

Formaterar värdet för den aktuella instansen med det angivna formatet.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Returnerar de data som behövs för att serialisera den aktuella instansen.

ISpanFormattable.TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider)

Försöker formatera värdet för den aktuella instansen till det angivna intervallet med tecken.

Gäller för

Trådsäkerhet

Alla medlemmar Uri i är trådsäkra och kan användas samtidigt från flera trådar.

Se även