Uri Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Définit un objet qui représente une valeur URI (Uniform Resource Identifier) et l’analyse en composants. L’objet Uri est utilisé par de nombreuses autres API Windows Runtime qui ne sont pas nécessairement limitées aux scénarios de navigateur web.
.NET Lors de la programmation avec .NET, ce type est masqué et les développeurs doivent utiliser System.Uri. Consultez la section Notes.
public ref class Uri sealed : IStringable
/// [Windows.Foundation.Metadata.Activatable(Windows.Foundation.IUriRuntimeClassFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Uri final : IStringable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(Windows.Foundation.IUriRuntimeClassFactory, 65536, "Windows.Foundation.UniversalApiContract")]
class Uri final : IStringable
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Foundation.IUriRuntimeClassFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Uri : IStringable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Foundation.IUriRuntimeClassFactory), 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class Uri : IStringable
function Uri(baseUri, relativeUri)
Public NotInheritable Class Uri
Implements IStringable
- Héritage
- Attributs
- Implémente
Configuration requise pour Windows
Famille d’appareils |
Windows 10 (introduit dans 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v1.0)
|
Exemples
Cet exemple crée un objet URI qui représente un URI (Uniform Resource Identifier) qui utilise le protocole http pour accéder à un site web.
// The URI string
var uriToLaunch = "http://www.bing.com";
// Create a Uri object from the URI string
var uri = new Windows.Foundation.Uri(uriToLaunch);
// The URI string.
std::wstring uriToLaunch{ L"http://www.bing.com" };
// Create a Uri object from the URI string.
Windows::Foundation::Uri uri{ uriToLaunch };
// The URI string
var uriToLaunch = L"http://www.bing.com";
// Create a Uri object from the URI string
auto uri = ref new Windows::Foundation::Uri(uriToLaunch);
Cet exemple crée un URI qui utilise le protocole ms-appx pour accéder à un fichier image dans le package d’application.
// The URI string
var uriImage = "ms-appx:///images/SecondaryTileDefault-sdk.png";
// Create a Uri object from the URI string
var uri = new Windows.Foundation.Uri(uriImage);
// The URI string.
std::wstring uriImage{ L"ms-appx:///images/SecondaryTileDefault-sdk.png" };
// Create a Uri object from the URI string.
Windows::Foundation::Uri uri{ uriImage };
// The URI string
var uriImage = ;
// Create a Uri object from the URI string
auto uri = ref new Windows::Foundation::Uri(uriImage);
Cet exemple crée un URI qui utilise le protocole ms-appdata pour accéder à un fichier dans le magasin de données d’application local de votre application.
// The URI string
var uriFile = "ms-appdata:///local/file.ext";
// Create a Uri object from the URI string
var uri = new Windows.Foundation.Uri(uriFile);
// The URI string.
std::wstring uriFile{ L"ms-appdata:///local/file.ext" };
// Create a Uri object from the URI string.
Windows::Foundation::Uri uri{ uriFile };
// The URI string
var uriFile = "ms-appdata:///local/file.ext";
// Create a Uri object from the URI string
auto uri = ref new Windows::Foundation::Uri(uriFile);
Remarques
Important
Lors de la programmation avec .NET, cette classe est masquée et les développeurs doivent utiliser la classe System.Uri , qui utilise des règles RFC 3987 pour encoder et décoder l’URI (Uniform Resource Identifier). La classe Windows.Foundation.Uri n’encode pas les caractères non-ASCII dans l’URI (Uniform Resource Identifier), où le schéma fait référence à un chemin de fichier Windows (comme ms-appx:). Windows.Foundation.Uri interprète également l’encodage en pourcentage à l’aide de la page de codes actuelle de l’utilisateur.
Les membres disponibles de System.Uri sont similaires, mais différents des membres de Windows.Foundation.Uri, et certains des comportements de base décrits dans cette rubrique sont différents. Pour plus d’informations sur les différences d’encodage et les membres disponibles, consultez System.Uri (en particulier les remarques).
Voici une répartition des parties d’un exemple d’URI (Uniform Resource Identifier) :
scheme://username:password@host:port/path.extension ? Requête#Fragment
Par exemple :
http://msdn.microsoft.com/library/windows/apps/windows.foundation.uri.aspx?cs-save-lang=1&cs-lang=cpp#code-snippet-1
Dans cet exemple :
- le schéma est
http
- l’hôte est
msdn.microsoft.com
- domain is
microsoft.com
(un sous-ensemble de l’hôte) - extension est
aspx
- la requête est
cs-save-lang=1&cs-lang=cpp
- fragment est
code-snippet-1
Notes
nom d’utilisateur :mot de passe@ qui précède l’hôte sont principalement pertinents pour l’URI (File Transfer Protocol) FTP ( Uniform Resource Identifier). Les URI FTP (File Transfer Protocol) ont une prise en charge limitée dans Windows Runtime. Consultez « Transfert de données en arrière-plan » (HTML ou XAML).
Important
Tous les schémas possibles ne sont pas utilisables par une application Windows Runtime. Notamment, le schéma de fichier: est bloqué. Il est possible de créer un objet URI qui utilise des schémas qu’une application Windows Runtime ne prend pas en charge, et vous êtes bloqué lorsque vous essayez d’appliquer cet URI en tant que valeur d’entrée pour un appel d’API, et non lors de la création de l’objet.
Schémas d’URI spécifiques à une application Windows Runtime
Windows Runtime a plusieurs schémas propres à une application Windows Runtime, qui font référence aux ressources qui font partie de l’application. En règle générale, ces schémas sont ce que vous pouvez utiliser à la place du schéma de fichier : pour faire référence aux fichiers empaquetés et autres ressources que vous avez inclus dans le cadre de votre package d’application, ou aux ressources qui sont autrement associées à une application installée :
- ms-appx : référence les fichiers empaquetés localement de l’application.
- ms-appx-web : référence également les fichiers empaquetés localement de l’application, mais les charge dans un contexte web. Cela est souvent nécessaire si vous accédez à des ressources destinées à être utilisées par WebView, ou si vous écrivez des applications HTML/JavaScript et que vous le demandez à partir d’une page HTML. Pour plus d’informations, consultez Schémas d’URI ou Guide pratique pour référencer du contenu (HTML).
- ms-appdata : fait référence aux fichiers d’application qui proviennent des dossiers de données locaux, itinérants et temporaires de l’application. Pour plus d’informations, consultez Schémas d’URI ou Stocker et récupérer des paramètres et d’autres données d’application.
- ms-resource : fait référence aux ressources d’application dans le système de gestion des ressources. Pour plus d’informations, consultez Localiser les chaînes dans l’interface utilisateur et le manifeste du package d’application.
Chacun de ces schémas ignore un grand nombre des composants d’un URI (Uniform Resource Identifier) qui sont destinés à d’autres schémas (par exemple, Requête et Fragment). En outre, certains composants sont explicitement interdits et entraînent le traitement de la valeur d’URI à l’aide de ces schémas comme une entrée non valide (par exemple, les valeurs UserName et Password dans un schéma d’URI ms-appx : le schéma d’URI invalidera un URI). Pour plus d’informations, voir Schémas d’URI.
Dans la plupart des cas, vous utilisez ces schémas avec trois barres obliques (exemple : ms-appx:///page.html), qui référence la racine de l’application actuelle, en utilisant l’application actuelle comme autorité. Les utilisations avec deux barres obliques sont possibles, mais peuvent nécessiter la spécification explicite du nom de l’autorité. Les utilisations avec deux barres obliques peuvent faire référence à une dépendance de package en tant qu’autorité ou à des emplacements relatifs au sein de l’application. Pour plus d’informations, voir Schémas d’URI.
URI absolus et relatifs
Au niveau du code, le Windows Runtime ne prend pas en charge l’URI relatif. Tous les objets URI que vous créez doivent représenter un URI (Uniform Resource Identifier) absolu. Les schémas répertoriés dans la section précédente sont en fait un URI (Uniform Resource Identifier) absolu, car l’hôte et l’autorité sont implicites pour chaque schéma et le reste du chemin d’accès est évalué sous cette autorité.
Lancement d’une application par schéma d’URI
Le schéma URI (Uniform Resource Identifier) d’une valeur URI peut être utilisé pour lancer d’autres applications associées à ce schéma particulier. Pour plus d’informations, consultez Lancer l’application par défaut pour un URI).
Constructeurs
Uri(String) |
Initialise un nouvel objet URI à partir de la chaîne URI spécifiée. L’initialisation de l’URI analyse également la chaîne et remplit les propriétés d’URI qui représentent les composants URI (Uniform Resource Identifier). |
Uri(String, String) |
Initialise un nouvel URI en combinant un URI (Uniform Resource Identifier) de base et un URI relatif. L’initialisation de l’URI analyse également la chaîne combinée et remplit les propriétés d’URI qui représentent les composants URI (Uniform Resource Identifier). |
Propriétés
AbsoluteCanonicalUri |
Obtient une représentation entièrement canonique conforme au RFC de l’URI actuel. |
AbsoluteUri |
Obtient l’ENSEMBLE de l’URI non canonique (il n’est pas canonique, car il peut s’agir d’une IRI, conformément au comportement d’encodage Windows.Foundation.Uri ; voir remarques). |
DisplayIri |
Obtient les caractères Unicode décodés qui composent l’URI actuel. |
DisplayUri |
Obtient une représentation de l’URI (Uniform Resource Identifier) qui peut être utilisée à des fins d’affichage. |
Domain |
Obtient le composant de nom de domaine, y compris le domaine de niveau supérieur, à partir d’un URI (Uniform Resource Identifier). |
Extension |
Obtient l’extension de nom de fichier de la ressource référencée dans l’URI. |
Fragment |
Obtient le texte suivant un marqueur de fragment (#), y compris le marqueur de fragment lui-même. |
Host |
Obtient le nom de domaine complet. |
Password |
Obtient le composant mot de passe de l’URI (Uniform Resource Identifier) tel qu’il est stocké dans cette instance URI. |
Path |
Obtient le composant chemin d’accès et nom de ressource de l’URI (Uniform Resource Identifier) tel qu’il est stocké dans cette instance URI. |
Port |
Obtient le composant numéro de port de l’URI (Uniform Resource Identifier) tel qu’il est stocké dans ce instance |
Query |
Obtient le composant de chaîne de requête de l’URI (Uniform Resource Identifier) tel qu’il est stocké dans cette instance URI. |
QueryParsed |
Obtient une chaîne de requête URI (Uniform Resource Identifier) analysée. |
RawUri |
Obtient l’intégralité de la chaîne URI (Uniform Resource Identifier) d’origine utilisée pour construire cet objet URI , avant l’analyse et sans encodage appliqué. |
SchemeName |
Obtient le composant de nom de schéma de protocole de l’URI (Uniform Resource Identifier) tel qu’il est stocké dans cet URI instance |
Suspicious |
Obtient une valeur qui indique si l’analyse a déterminé que l’URI (Uniform Resource Identifier) n’est pas correctement formé. |
UserName |
Obtient le composant de nom d’utilisateur de l’URI (Uniform Resource Identifier) tel qu’il est stocké dans cette instance URI. |
Méthodes
CombineUri(String) |
Ajoute l’URI (Uniform Resource Identifier) spécifié à l’URI actuel. |
Equals(Uri) |
Détermine si l’objet Uri spécifié est égal à l’objet Uri actuel. |
EscapeComponent(String) |
Convertit une chaîne URI (Uniform Resource Identifier) en sa représentation d’échappement. |
ToString() |
Obtient une représentation sous forme de chaîne canonique pour l’URI actuel. |
UnescapeComponent(String) |
Convertit la chaîne spécifiée en remplaçant toutes les séquences d'échappement par leur représentation sans séquence d'échappement. |