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

Stream.BeginWrite-Methode: (Byte[], Int32, Int32, AsyncCallback, Object)

 

Veröffentlicht: Oktober 2016

Beginnt einen asynchronen Schreibvorgang. (Verwenden Sie stattdessen WriteAsync. Weitere Informationen finden Sie im Abschnitt "Hinweise".)

Namespace:   System.IO
Assembly:  mscorlib (in mscorlib.dll)

[HostProtectionAttribute(SecurityAction.LinkDemand, ExternalThreading = true)]
public virtual IAsyncResult BeginWrite(
	byte[] buffer,
	int offset,
	int count,
	AsyncCallback callback,
	object state
)

Parameter

buffer
Type: System.Byte[]

Der Puffer, aus dem Daten geschrieben werden sollen.

offset
Type: System.Int32

Der Byteoffset im buffer, ab dem geschrieben werden soll.

count
Type: System.Int32

Die maximale Anzahl der zu schreibenden Bytes.

callback
Type: System.AsyncCallback

Ein optionaler asynchroner Rückruf, der nach Abschluss des Schreibvorgangs aufgerufen wird.

state
Type: System.Object

Ein vom Benutzer bereitgestelltes Objekt, das diese asynchrone Schreibanforderung von anderen Anforderungen unterscheidet.

Rückgabewert

Type: System.IAsyncResult

Ein IAsyncResult, das den asynchronen Schreibvorgang darstellt, der möglicherweise noch aussteht.

Exception Condition
IOException

Einen asynchronen Schreibvorgang über das Ende des Streams hinaus versucht, oder ein Datenträgerfehler aufgetreten.

ArgumentException

Mindestens eines der Argumente ist ungültig.

ObjectDisposedException

Es wurden Methoden aufgerufen, nachdem der Stream geschlossen wurde.

NotSupportedException

Die aktuelle Stream Implementierung bietet keine Unterstützung für den Schreibvorgang.

In .NET Framework 4 und vorherigen Versionen müssen Sie Methoden wie BeginWrite und EndWrite verwenden, um asynchrone E/A-Vorgänge zu implementieren. Diese Methoden sind weiterhin verfügbar in der .NET Framework 4.5 zur Unterstützung von legacy-Code, jedoch die neuen asynchronen Methoden wie z. B. ReadAsync, WriteAsync, CopyToAsync, und FlushAsync, Hilfe Sie leichter asynchrone e/a-Vorgänge implementieren.

Die standardmäßige Implementierung des BeginWrite für einen Datenstrom Aufrufe der Write Methode synchron, d. h., dass Write auf einige Streams blockiert werden könnten. Allerdings Instanzen von Klassen wie z. B. FileStream und NetworkStream asynchrone Vorgänge vollständig unterstützt, wenn die Instanzen asynchron geöffnet wurden. Daher führen Aufrufe von BeginWrite Datenströme nicht blockiert. Sie können außer Kraft setzen BeginWrite (mithilfe von asynchronen Delegaten, z. B.) um asynchrones Verhalten bereitzustellen.

Übergeben Sie die IAsyncResult von der aktuellen Methode zurückgegeben EndWrite um sicherzustellen, dass der Schreibvorgang abgeschlossen ist und die Ressourcen entsprechend freigegeben werden. EndWrite einmal aufgerufen werden muss, für jeden Aufruf von BeginWrite. Hierzu können Sie entweder mit den gleichen Code, der aufgerufen BeginWrite oder einen übergebenen Rückruf BeginWrite. Wenn während eines asynchronen Schreibvorgangs ein Fehler auftritt, wird erst dann eine Ausnahme ausgelöst, wenn EndWrite aufgerufen wird und die IAsyncResult von dieser Methode zurückgegeben.

Wenn ein Stream geschrieben werden kann, erweitert Schreibvorgang am Ende des Streams den Stream.

Beim Ausgeben des asynchronen Lese- oder Schreibvorgang nicht, wenn der e/a-Vorgang abgeschlossen ist, wird die aktuelle Position im Stream aktualisiert. Mehrere gleichzeitige asynchrone Anforderungen für das Rendern der Anforderung Abschluss unsicher.

Verwenden der CanWrite -Eigenschaft bestimmt, ob die aktuelle Instanz Schreibvorgänge unterstützt.

Wenn ein Stream geschlossen ist oder Sie ein ungültiges Argument übergeben, werden Ausnahmen sofort aus BeginWrite. Fehler während einer asynchronen schreibanforderung, z. B. Fehler auf dem Datenträger während der e/a-Anforderung, auf den Threadpool-Thread auftreten und Auslösen von Ausnahmen beim Aufrufen von EndWrite.

.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Zurück zum Anfang
Anzeigen: