TempFolder

SaveOptions.TempFolder property

Gibt den Ordner für temporäre Dateien an, der beim Speichern in eine DOC- oder DOCX-Datei verwendet wird. Standardmäßig ist diese Eigenschaftnull und es werden keine temporären Dateien verwendet.

public string TempFolder { get; set; }

Ausnahmen

AusnahmeBedingung
OutOfMemoryExceptionWird ausgelöst, wenn Sie ein sehr großes Dokument (Tausende von Seiten) speichern und/oder viele Dokumente gleichzeitig verarbeiten. Die Speicherspitze während des Speicherns kann groß genug sein, um die Ausnahme zu verursachen.

Bemerkungen

Wenn Aspose.Words ein Dokument speichert, müssen temporäre interne Strukturen erstellt werden. Standardmäßig werden diese internen Strukturen im Speicher erstellt, und die Speicherauslastung steigt während des Speicherns des Dokuments kurzzeitig an. Nach Abschluss des Speichervorgangs wird der Speicher freigegeben und vom Garbage Collector freigegeben.

Festlegen eines temporären Ordners mitTempFolder bewirkt, dass Aspose.Words die internen Strukturen in temporären Dateien (x000d) statt im Speicher speichert. Dies reduziert den Speicherverbrauch beim Speichern, verringert jedoch die Speicherleistung.

Der Ordner muss vorhanden und beschreibbar sein, andernfalls wird eine Ausnahme ausgelöst.

Aspose.Words löscht nach Abschluss des Speichervorgangs automatisch alle temporären Dateien.

Beispiele

Zeigt, wie beim Speichern eines Dokuments die Festplatte anstelle des Arbeitsspeichers verwendet wird.

Document doc = new Document(MyDir + "Rendering.docx");

// Wenn wir ein Dokument speichern, werden während des Speichervorgangs verschiedene Elemente vorübergehend im Speicher abgelegt.
// Wir können diese Option verwenden, um stattdessen einen temporären Ordner im lokalen Dateisystem zu verwenden.
// wodurch der Speicheraufwand unserer Anwendung reduziert wird.
DocSaveOptions options = new DocSaveOptions();
options.TempFolder = ArtifactsDir + "TempFiles";

// Der angegebene temporäre Ordner muss vor dem Speichervorgang im lokalen Dateisystem vorhanden sein.
Directory.CreateDirectory(options.TempFolder);

doc.Save(ArtifactsDir + "DocSaveOptions.TempFolder.doc", options);

// Der Ordner bleibt bestehen und enthält keinen Restinhalt vom Ladevorgang.
Assert.AreEqual(0, Directory.GetFiles(options.TempFolder).Length);

Siehe auch