Esta documentación está archivada y no tiene mantenimiento.

PackUriHelper.ResolvePartUri (Método)

Actualización: noviembre 2007

Devuelve un URI de parte de paquete, dados un URI de parte de origen y un URI con una ruta de acceso relativa a una parte de paquete de destino.

Espacio de nombres:  System.IO.Packaging
Ensamblado:  WindowsBase (en WindowsBase.dll)

public static Uri ResolvePartUri(
	Uri sourcePartUri,
	Uri targetUri
)
public static Uri ResolvePartUri(
	Uri sourcePartUri,
	Uri targetUri
)
public static function ResolvePartUri(
	sourcePartUri : Uri, 
	targetUri : Uri
) : Uri
No se pueden utilizar métodos en XAML.

Parámetros

sourcePartUri
Tipo: System.Uri
URI de la parte de origen o "/" para designar la raíz del paquete Package.
targetUri
Tipo: System.Uri
URI relativo a la parte de destino.

Valor devuelto

Tipo: System.Uri
El URI de la parte de destino resuelto entre los parámetros SourcePartUri y targetUri especificados.

ExcepciónCondición
ArgumentNullException

sourcePartUri o targetUri es null.

ArgumentException

sourcePartUri no es un URI válido de parte de paquete.

O bien

targetUri no es un URI relativo válido.

En la tabla siguiente se muestran casos de ejemplo de uso del método ResolvePartUri.

 sourcePartUri

 targetUri

URI devuelto

/mydoc/markup/page.xml

picture.jpg

/mydoc/markup/picture.jpg

/mydoc/markup/page.xml

images/picture.jpg

/mydoc/markup/images/picture.jpg

/mydoc/markup/page.xml

/picture.jpg

/mydoc/markup/picture.jpg

/mydoc/markup/page.xml

/picture.jpg

/mydoc/picture.jpg

/mydoc/markup/page.xml

/images/picture.jpg

/mydoc/images/picture.jpg

 / 

images/picture.jpg

/images/picture.jpg

En el ejemplo siguiente se muestra cómo utilizar el método ResolvePartUri. Para obtener el ejemplo completo, vea Ejemplo Reading a Package.

// Open the Package.
// ('using' statement insures that 'package' is
//  closed and disposed when it goes out of scope.)
using (Package package =
    Package.Open(packagePath, FileMode.Open, FileAccess.Read))
{
    PackagePart documentPart = null;
    PackagePart resourcePart = null;

    // Get the Package Relationships and look for
    //   the Document part based on the RelationshipType
    Uri uriDocumentTarget = null;
    foreach (PackageRelationship relationship in
        package.GetRelationshipsByType(PackageRelationshipType))
    {
        // Resolve the Relationship Target Uri
        //   so the Document Part can be retrieved.
        uriDocumentTarget = PackUriHelper.ResolvePartUri(
            new Uri("/", UriKind.Relative), relationship.TargetUri);

        // Open the Document Part, write the contents to a file.
        documentPart = package.GetPart(uriDocumentTarget);
        ExtractPart(documentPart, targetDirectory);
    }

    // Get the Document part's Relationships,
    //   and look for required resources.
    Uri uriResourceTarget = null;
    foreach (PackageRelationship relationship in
        documentPart.GetRelationshipsByType(
                                ResourceRelationshipType))
    {
        // Resolve the Relationship Target Uri
        //   so the Resource Part can be retrieved.
        uriResourceTarget = PackUriHelper.ResolvePartUri(
            documentPart.Uri, relationship.TargetUri);

        // Open the Resource Part and write the contents to a file.
        resourcePart = package.GetPart(uriResourceTarget);
        ExtractPart(resourcePart, targetDirectory);
    }

}// end:using(Package package) - Close & dispose package.


Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0
Mostrar: