English | 日本
BCL Technologies
Shopping CartContact Us
Knowledgebase
BCL easy PDF SDK

Wie baue ich eine Multithread-Anwendung hin PDF mit easyPDF SDK?

Zuletzt aktualisiert:

  • PDF SDK Multi-Anwendungen

    Aufbau einer Multi-Threaded-Anwendung mit PDF easyPDF SDK ist eigentlich ziemlich einfach. Unsere PDF SDK nicht direkt umgehen, wird Ihre Anwendung benötigen für Multi-Threading die PDF-SDK verantwortlich zu sein. Sie benötigen, um die PDF SDK Objekte innerhalb ihrer eigenen einzigartigen Threads zu erstellen, verarbeiten die Operation, die Sie bearbeiten möchten, und lassen Sie dann die Objekte einmal getan. So lange, wie die Objekte in ihre eigenen einzigartigen Themen bleiben werden sie, ohne sich miteinander zu arbeiten. Die PrintJob.PrintOut () sind alle Thread-sicher.


    Jedoch bestimmte Aspekte der PDF SDK nicht Thread-sicher. Fordert insbesondere den .Save () Methoden, wie PrinterSetting.Save () nicht Thread-sicher. Dies ist eine unglückliche Einschränkung der Verwendung eines virtuellen Druckers, um die Dokumente des PDF SDK verarbeiten. Drucker kann nur eine aktive Einstellung für ihre Papierformat oder ihre Papierausrichtung, denn Drucker kann nur drucken eigentlich ein PDF-Dokument zu einer Zeit aufgrund physikalischer Beschränkungen. Unsere PDF SDK Drucker kann nicht so eine körperliche Einschränkung, aber der Drucker in Windows integrierte Rahmen davon aus, dass es funktioniert und behandelt sie entsprechend.


    Wenn Sie die PrinterSetting.Save ()-Methode aufrufen, es Einstellungen des Druckers überschreibt für dieses Benutzerkonto. Als solche, wenn diese Einstellungen während einer laufenden Umwandlung verändert es kann zu Problemen führen. Im besten Fall wird die Formatierung zwischen zwei verschiedenen Seiten wird anders sein, im schlimmsten Fall kann es Speicherzugriffsverletzungen, die den gesamten Umwandlungsprozess töten verursachen.


    Wenn Sie zum Drucken auf einem Desktop-Rechner, läuft eine Umwandlung zu einer Zeit, dies ist nicht ein Problem. Sie können die Einstellungen ändern, um jede einzelne Konvertierung anpassen. Auch wenn Sie mehrere Benutzer, wie eine Terminalserver-Umgebung haben, so lange, wie jede auf ihre eigenen Benutzer, eine Desktop-Anwendung können sie alle Einstellungen ändern, wie sie wollen angemeldet. Jedoch in einer Server-Umgebung mit dem Loader, das wird nicht funktionieren, weil der Loader muss über einem bestimmten Benutzerkonto ausgeführt wird, und damit alle Änderungen an den Printer wird in diesem einzigen Benutzerkonto passieren.


    Als solcher, wenn Sie von einem Server drucken wollen, sollten Sie die optimalen Einstellungen zu ermitteln und anzuwenden, wenn über die .Save ()-Methoden für die entsprechenden Objekte, an welcher Stelle diese Einstellungen werden die Standardeinstellung für alle nachfolgenden Aufträge auf dieser Maschine. Wenn Sie in der Lage, die Einstellungen die beste Lösung ist, um mehrere parallele Server laufen, jede mit ihren eigenen Einstellungen zu ändern, und sortieren Sie die Arbeitsplätze entsprechend sein.


  • PDF SDK COM-Objekt basierte Multi-Threaded-Anwendungen

    PDF SDK COM-Objekte BCL sind nicht in der Lage, die Arbeit in einem Multi-Threaded Apartment (MTA). Sie müssen in einem Singlethread-Apartment (STA) ausgeführt werden. NET Framework 4 in die Default-Einstellung für einen Thread ist MTA. Keiner unserer PDF COM-Objekte arbeiten in einer Multi-Threaded-Wohnung, so müssen Sie den Faden in STA eingestellt. Wenn ein COM-Objekt ist MTA, bedeutet es, mehrere Threads können mit ihm interagieren. Unsere PDF-COM-Objekte sind STA, die streng Single-Threaded bedeutet. Sie können mehrere Instanzen von unseren PDF-COM-Objekte parallel laufen, aber mehrere Threads können das gleiche PDF-COM-Objekt nicht teilen. Jede PDF-COM-Objekt muss in einem Singlethread-Apartment isoliert werden.


    Dieses Apartment-Konzept (MTA gegen STA) ist ein Aspekt der COM-Objekte. Wenn Sie ein neues Thema in NET zu erstellen, müssen Sie wählen, ob es eine STA oder MTA. Dies ist nur dann wichtig, wenn Sie sich mit PDF-COM-Objekte zu planen. Ein MTA-Thread macht es möglich, die gleiche COM-Objekt von mehreren Threads zu teilen. Das ist grundlegend anders als STA. MTA und STA arbeiten völlig anders. Da easyconverter und easyPDF sind alle STA wird die Gewinde STA sein.


    Dies bedeutet nicht, Sie nicht ausführen können mehrere Threads mit easyPDF. Sie können, aber nur in einem STA-Wohnung. Dies ist äußerst unlogisch, weil es als "Singlethread-Apartment", aber es nicht wirklich, dass Sie an einem einzigen Thread beschränkt. Allerdings, wenn Sie versuchen, eine STA COM-Objekt wie easyPDF in einem MTA-Wohnung laufen, wird das System die Funktionsaufrufe zu serialisieren. Es wird nicht in mehreren Threads ausgeführt werden. Ein STA COM-Objekt funktioniert nur in mehreren Threads, wenn es in einem STA-Thread ausgeführt werden.


    So dass beide MTA und STA COM-Objekte sind in der Lage Multi-Threading, aber sie sind völlig anders funktionieren. Die Quintessenz ist, dass Sie von einem easyPDF STA Wohnung laufen. Und der Kunde kann diese in einer einzigen Zeile Code zu beheben.


-
 
BCL
© 1993 - , BCL Technologies.
All other trademarks are the property of their respective owners.