Package Klasse
Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Package-Klasse

 

Stellt einen Container dar, der mehrere Datenobjekte speichern kann.

Namespace:   System.IO.Packaging
Assembly:  WindowsBase (in WindowsBase.dll)

System.Object
  System.IO.Packaging.Package
    System.IO.Packaging.ZipPackage

public abstract class Package : IDisposable

NameBeschreibung
System_CAPS_protmethodPackage(FileAccess)

Initialisiert eine neue Instanz der der Package Klasse, die einen bestimmten FileAccess.

System_CAPS_protmethodPackage(FileAccess, Boolean)

Initialisiert eine neue Instanz der der Package Klasse, die einen bestimmten FileAccess und streaming-Option.

NameBeschreibung
System_CAPS_pubpropertyFileOpenAccess

Ruft der Dateizugriff für das Paket festlegen.

System_CAPS_pubpropertyPackageProperties

Ruft die Haupteigenschaften des Pakets ab.

NameBeschreibung
System_CAPS_pubmethodClose()

Speichert und schließt das Paket sowie alle zugrunde liegenden Teil Streams.

System_CAPS_pubmethodCreatePart(Uri, String)

Erstellt ein neues dekomprimiert Teil mit einem angegebenen URI und den Inhaltstyp an.

System_CAPS_pubmethodCreatePart(Uri, String, CompressionOption)

Erstellt ein neues Teil mit einem angegebenen URI, Inhaltstyp und Komprimierungsoption.

System_CAPS_protmethodCreatePartCore(Uri, String, CompressionOption)

Ruft beim Überschreiben in einer abgeleiteten Klasse erstellt ein neues Teil im Paket.

System_CAPS_pubmethodCreateRelationship(Uri, TargetMode, String)

Erstellt eine Beziehung auf Paketebene zu einem Webpart mit einem angegebenen URI, den Zielmodus und den Beziehungstyp.

System_CAPS_pubmethodCreateRelationship(Uri, TargetMode, String, String)

Erstellt eine Beziehung auf Paketebene zu einem Webpart mit einem angegebenen URI, Zielmodus, Beziehungstyp, und identifier (ID).

System_CAPS_pubmethodDeletePart(Uri)

Löscht einen Teil mit einem angegebenen URI aus dem Paket.

System_CAPS_protmethodDeletePartCore(Uri)

Ruft beim Überschreiben in einer abgeleiteten Klasse wird einen Teil mit einem angegebenen URI gelöscht.

System_CAPS_pubmethodDeleteRelationship(String)

Löscht eine Beziehung auf Paketebene.

System_CAPS_protmethodDispose(Boolean)

Leert und speichert den Inhalt aller Teile und Beziehungen, schließt das Paket und gibt alle Ressourcen frei.

System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von Object.)

System_CAPS_protmethodFinalize()

Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Geerbt von Object.)

System_CAPS_pubmethodFlush()

Speichert den Inhalt aller Teile und Beziehungen, die enthalten sind im Paket.

System_CAPS_protmethodFlushCore()

Ruft beim Überschreiben in einer abgeleiteten Klasse werden die Inhalte aller Teile und Beziehungen der abgeleiteten Klasse gespeichert.

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von Object.)

System_CAPS_pubmethodGetPart(Uri)

Gibt den Teil mit einem angegebenen URI zurück.

System_CAPS_protmethodGetPartCore(Uri)

Ruft beim Überschreiben in einer abgeleiteten Klasse gibt die von einem angegebenen URI adressierte zurück.

System_CAPS_pubmethodGetParts()

Gibt eine Auflistung aller Parts im Paket zurück.

System_CAPS_protmethodGetPartsCore()

Ruft beim Überschreiben in einer abgeleiteten Klasse gibt ein Array aller Teile im Paket zurück.

System_CAPS_pubmethodGetRelationship(String)

Gibt die Beziehung auf Paketebene zu einem angegebenen Bezeichner zurück.

System_CAPS_pubmethodGetRelationships()

Gibt eine Auflistung aller auf Paketebene Beziehungen.

System_CAPS_pubmethodGetRelationshipsByType(String)

Gibt eine Auflistung von alle Beziehungen auf Paketebene, die entsprechen einem bestimmten RelationshipType.

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von Object.)

System_CAPS_protmethodMemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.(Geerbt von Object.)

System_CAPS_pubmethodSystem_CAPS_staticOpen(Stream)

Öffnet ein Paket für einen angegebenen e/a-Datenstrom.

System_CAPS_pubmethodSystem_CAPS_staticOpen(Stream, FileMode)

Öffnet ein Paket mit einem angegebenen e/a-Stream und den entsprechenden Dateimodus.

System_CAPS_pubmethodSystem_CAPS_staticOpen(Stream, FileMode, FileAccess)

Öffnet ein Paket mit einem angegebenen e/a-Stream Dateimodus und Dateizugriff festlegen.

System_CAPS_pubmethodSystem_CAPS_staticOpen(String)

Öffnet ein Paket an einen bestimmten Pfad und Dateiname.

System_CAPS_pubmethodSystem_CAPS_staticOpen(String, FileMode)

Öffnet ein Paket in einem angegebenen Pfad mit einem angegebenen Modus.

System_CAPS_pubmethodSystem_CAPS_staticOpen(String, FileMode, FileAccess)

Öffnet ein Paket in einem angegebenen Pfad mithilfe eines angegebenen Modus und Zugriff festlegen.

System_CAPS_pubmethodSystem_CAPS_staticOpen(String, FileMode, FileAccess, FileShare)

Öffnet ein Paket in einem angegebenen Pfad mit einer bestimmten Dateimodus, Dateizugriff und Dateifreigabe festlegen.

System_CAPS_pubmethodPartExists(Uri)

Gibt an, ob ein Teil mit einem angegebenen URI im Paket enthalten ist.

System_CAPS_pubmethodRelationshipExists(String)

Gibt an, ob eine Beziehung auf Paketebene mit einer angegebenen ID im Paket enthalten ist.

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von Object.)

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethodIDisposable.Dispose()

Dieser Member unterstützt die Windows Presentation Foundation (WPF) Infrastruktur und ist nicht für die Anwendungsverwendung vorgesehen. Verwenden Sie die typsicheren Dispose Methode stattdessen.

Package ist eine abstrakte Klasse, die zum Organisieren von Objekten in einer einzelnen Entität mit einem definierten physischen Format für Portabilität und effizienten Zugriff verwendet werden kann.

Eine ZIP-Datei ist das primäre physische Format für die Package. Andere Package Implementierungen möglicherweise verwenden Sie andere physische Formate wie z. B. ein XML-Dokument, eine Datenbank oder einen Webdienst.

Wie ein Dateisystem enthaltenen Elemente einer Package wird in eine hierarchische Struktur von Ordnern und Dateien verwiesen.

Obwohl Package selbst ist eine abstrakte Klasse, die ZipPackage abgeleitete Klasse wird als Standardwert verwendet die Open Methode.

Ein PackagePart ("Part") ist die abstrakte Klasse, die ein Objekt darstellt, die in gespeichert ist eine Package.

Ein PackageRelationship ("Beziehung") definiert eine Zuordnung zwischen einem Package oder PackagePart und einem Zielobjekt. Ein PackageRelationship kann eine von zwei Typen, von denen jeder eine von zwei Formen kann:

  • Eine Beziehung auf Paketebene (erstellt, indem die Package.CreateRelationship Methode) bezieht sich eine Package entweder:

    • Ein Zielteil im Paket.

    • Eine Ressource außerhalb des Pakets.

  • Eine Beziehung auf Teilebene (erstellt, indem die PackagePart.CreateRelationship Methode) bezieht sich eine Quelle PackagePart entweder:

    • Ein anderes Zielteil im Paket.

    • Eine Ressource außerhalb des Pakets.

Die Beziehung Quelle Package oder PackagePart gilt als "Owner" der Beziehung. Wenn das Quellobjekt, das gelöscht wird, werden alle Beziehungen, die das Quellobjekt im Besitz ebenfalls gelöscht. Der Prozess des Erstellens oder Löschen einer Beziehung wird nicht physisch Quell- oder Ziel-Objekte in keiner Weise geändert werden.

Ein PackageDigitalSignature ("digitale Signatur") ist eine Zusammensetzung der Teile und Beziehungen, die eine digitale Signatur enthaltenen darstellt ein Package. Die digitale Signatur identifiziert den Ersteller und überprüft, dass die signierten Teile und Beziehungen in enthalten die Package nicht geändert wurden.

Pakete unterstützen auch die Verwaltung digitaler Rechte (Digital Rights Management, DRM) dadurch Inhaltselemente in einer Package mit speziellen Zugriffsrechten für autorisierte Benutzer verschlüsselt werden.

Auf der Grundlage der Package Architektur, eine XpsDocument ist vorgesehen, die zum Speichern von Dokumenten öffnen XML Paper Specification (XPS).

Microsoft .NET Framework Pakete verwendet zum Speichern von Inhalt, Ressourcen und Beziehungen für Seiten und Dokumente mithilfe einer standardmäßigen ZIP-Datei wird standardmäßig. Wie bei jeder ZIP-Datei die Anwendung mithilfe der System.IO.Packaging Klassen zum Speichern und gegebenenfalls zu einem beliebigen Typ oder Anzahl der Datendateien in einem einzelnen Container Zugriff schützen.

Weitere Informationen finden Sie in der Open Packaging-Konventionen (OPC)-Spezifikation, die auf http://go.microsoft.com/fwlink/?LinkID=71255.

Das folgende Beispiel zeigt die grundlegenden Schritte zum Erstellen einer Package. In diesem Beispiel wird ein Paket erstellt, um ein Dokument und eine Grafik enthalten, die als Teil des Dokuments angezeigt wird. (Dies entspricht dem Fall, in dem eine HTML-Datei ein < IMG >-Tag hat, die auf eine externe Bilddatei verweist.) Zwei PackageRelationship Elemente sind auch im Paket enthalten. Die erste, die eine Beziehung "auf" definiert den Dokumentteil als Stammelement des Pakets. Eine zweite, "auf" Beziehung definiert die Zuordnung zwischen den Dokumentteil ("Quelle" der Beziehung auf Teilebene) und die Verwendung der Bild-Teil ("Ziel" der Beziehung auf Teilebene). Das vollständige Beispiel finden Sie unter Writing a Package Sample.

//  -------------------------- CreatePackage --------------------------
/// <summary>
///   Creates a package zip file containing specified
///   content and resource files.</summary>
private static void CreatePackage()
{
    // Convert system path and file names to Part URIs. In this example
    // Uri partUriDocument /* /Content/Document.xml */ =
    //     PackUriHelper.CreatePartUri(
    //         new Uri("Content\Document.xml", UriKind.Relative));
    // Uri partUriResource /* /Resources/Image1.jpg */ =
    //     PackUriHelper.CreatePartUri(
    //         new Uri("Resources\Image1.jpg", UriKind.Relative));
    Uri partUriDocument = PackUriHelper.CreatePartUri(
                              new Uri(documentPath, UriKind.Relative));
    Uri partUriResource = PackUriHelper.CreatePartUri(
                              new Uri(resourcePath, UriKind.Relative));

    // Create the Package
    // (If the package file already exists, FileMode.Create will
    //  automatically delete it first before creating a new one.
    //  The 'using' statement insures that 'package' is
    //  closed and disposed when it goes out of scope.)
    using (Package package =
        Package.Open(packagePath, FileMode.Create))
    {
        // Add the Document part to the Package
        PackagePart packagePartDocument =
            package.CreatePart(partUriDocument,
                           System.Net.Mime.MediaTypeNames.Text.Xml);

        // Copy the data to the Document Part
        using (FileStream fileStream = new FileStream(
               documentPath, FileMode.Open, FileAccess.Read))
        {
            CopyStream(fileStream, packagePartDocument.GetStream());
        }// end:using(fileStream) - Close and dispose fileStream.

        // Add a Package Relationship to the Document Part
        package.CreateRelationship(packagePartDocument.Uri,
                                   TargetMode.Internal,
                                   PackageRelationshipType);

        // Add a Resource Part to the Package
        PackagePart packagePartResource =
            package.CreatePart(partUriResource,
                           System.Net.Mime.MediaTypeNames.Image.Jpeg);

        // Copy the data to the Resource Part
        using (FileStream fileStream = new FileStream(
               resourcePath, FileMode.Open, FileAccess.Read))
        {
            CopyStream(fileStream, packagePartResource.GetStream());
        }// end:using(fileStream) - Close and dispose fileStream.

        // Add Relationship from the Document part to the Resource part
        packagePartDocument.CreateRelationship(
                                new Uri(@"../resources/image1.jpg",
                                UriKind.Relative),
                                TargetMode.Internal,
                                ResourceRelationshipType);

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

}// end:CreatePackage()


//  --------------------------- CopyStream ---------------------------
/// <summary>
///   Copies data from a source stream to a target stream.</summary>
/// <param name="source">
///   The source stream to copy from.</param>
/// <param name="target">
///   The destination stream to copy to.</param>
private static void CopyStream(Stream source, Stream target)
{
    const int bufSize = 0x1000;
    byte[] buf = new byte[bufSize];
    int bytesRead = 0;
    while ((bytesRead = source.Read(buf, 0, bufSize)) > 0)
        target.Write(buf, 0, bytesRead);
}// end:CopyStream()

.NET Framework
Verfügbar seit 3.0

Öffentliche statische (in Visual Basic freigegebene) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Zurück zum Anfang
Anzeigen:
© 2016 Microsoft