CryptoStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Aszinkron írási műveletet kezd. (Fontolja meg a használatot WriteAsync .)
public:
override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ callback, System::Object ^ state);
public override IAsyncResult BeginWrite(byte[] buffer, int offset, int count, AsyncCallback? callback, object? state);
public override IAsyncResult BeginWrite(byte[] buffer, int offset, int count, AsyncCallback callback, object state);
override this.BeginWrite : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginWrite (buffer As Byte(), offset As Integer, count As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
Paraméterek
- buffer
- Byte[]
A puffer, amelyből adatokat írhat.
- offset
- Int32
A bájt eltolása buffer , amelyből az írás elkezdhető.
- count
- Int32
Az írható bájtok maximális száma.
- callback
- AsyncCallback
Opcionális aszinkron visszahívás, amelyet az írás befejezésekor kell meghívni.
- state
- Object
Felhasználó által megadott objektum, amely megkülönbözteti ezt az aszinkron írási kérést más kérésektől.
Válaszok
Az IAsyncResult aszinkron írást jelképező írás, amely továbbra is függőben lehet.
Kivételek
Aszinkron írást kísérelt meg a stream vége után, vagy lemezhiba történt.
Egy vagy több argumentum érvénytelen.
A metódusok a stream bezárása után lettek meghívva.
A jelenlegi Stream implementáció nem támogatja az írási műveletet.
Megjegyzések
A .NET-keretrendszer 4- és korábbi verzióiban olyan módszereket kell használnia, mint például BeginWriteEndWrite az aszinkron I/O-műveletek implementálása. Ezek a módszerek továbbra is elérhetők a jelenlegi verziókban az örökölt kód támogatásához; Azonban az új aszinkron metódusok, például ReadAsynca , WriteAsync, CopyToAsyncés FlushAsync, könnyebben implementálják az aszinkron I/O-műveleteket.
Adja át az IAsyncResult aktuális metódus által visszaadott adatokat EndWrite , hogy az írás megfelelően befejeződjön és felszabadítsa az erőforrásokat.
EndWriteminden híváshoz egyszer kell meghívni.BeginWrite Ezt megteheti ugyanazzal a kóddal, amely a hívott BeginWrite vagy a visszahívást továbbította BeginWrite. Ha hiba történik az aszinkron írás során, a rendszer csak akkor küld kivételt, ha EndWrite a metódus által visszaadott metódussal meghívja.IAsyncResult
Ha egy stream írható, a stream végén lévő írás kiterjeszti a streamet.
A stream aktuális pozíciója frissül, ha az aszinkron olvasást vagy írást ad ki, nem pedig az I/O-művelet befejeződésekor. Több egyidejű aszinkron kérés bizonytalanná teszi a kérés teljesítésének sorrendjét.
CanWrite A tulajdonság használatával állapítsa meg, hogy az aktuális példány támogatja-e az írást.
Ha egy stream le van zárva, vagy érvénytelen argumentumot ad át, a kivételek azonnal ki lesznek dobva a rendszerből BeginWrite. Az aszinkron írási kérelem során fellépő hibák ( például lemezhiba az I/O-kérés során) a szálkészlet szálán fordulnak elő, és kivételeket jeleznek híváskor EndWrite.