SslStream.EndWrite(IAsyncResult) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Ukončí asynchronní operaci zápisu, která byla zahájena předchozím voláním .BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)
public:
override void EndWrite(IAsyncResult ^ asyncResult);
public override void EndWrite (IAsyncResult asyncResult);
override this.EndWrite : IAsyncResult -> unit
Public Overrides Sub EndWrite (asyncResult As IAsyncResult)
Parametry
- asyncResult
- IAsyncResult
Instance IAsyncResult vrácená voláním BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object).
Výjimky
asyncResult
je null
.
asyncResult
nebyl vytvořen voláním metody BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object).
Neexistuje žádná operace zápisu čekající na dokončení.
-nebo-
K ověření nedošlo.
Operace zápisu se nezdařila.
Příklady
Následující příklad kódu ukazuje ukončení asynchronní operace zápisu.
void WriteCallback( IAsyncResult^ ar )
{
ClientState^ state = dynamic_cast<ClientState^>(ar->AsyncState);
SslStream^ stream = state->stream;
try
{
Console::WriteLine( L"Writing data to the client." );
stream->EndWrite( ar );
}
catch ( Exception^ writeException )
{
Console::WriteLine( L"Write error: {0}", writeException->Message );
state->Close();
return;
}
Console::WriteLine( L"Finished with client." );
state->Close();
}
void WriteCallback(IAsyncResult ar)
{
ClientState state = (ClientState) ar.AsyncState;
SslStream stream = state.stream;
try
{
Console.WriteLine("Writing data to the client.");
stream.EndWrite(ar);
}
catch (Exception writeException)
{
Console.WriteLine("Write error: {0}",
writeException.Message);
state.Close();
return;
}
Console.WriteLine("Finished with client.");
state.Close();
}
Poznámky
Pokud se operace nedokončila, tato metoda blokuje, dokud se nedokončila.
Aplikace nemůže tuto metodu volat, dokud se úspěšně neověříte. Pokud chcete provést ověření, zavolejte jednu z AuthenticateAsClientmetod , nebo BeginAuthenticateAsClient, AuthenticateAsServer. BeginAuthenticateAsServer
Pokud chcete tuto operaci provést synchronně, použijte metodu Write .