SslStream.EndWrite(IAsyncResult) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Kończy asynchroniczną operację zapisu rozpoczętą z poprzednim wywołaniem metody 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
Wystąpienie IAsyncResult zwrócone przez wywołanie metody BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object).
Wyjątki
asyncResult
to null
.
asyncResult
nie został utworzony przez wywołanie metody BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object).
Nie ma oczekującej operacji zapisu do ukończenia.
-lub-
Uwierzytelnianie nie wystąpiło.
Operacja zapisu nie powiodła się.
Przykłady
Poniższy przykład kodu pokazuje zakończenie asynchronicznej operacji zapisu.
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();
}
Uwagi
Jeśli operacja nie została ukończona, ta metoda blokuje działanie, dopóki nie zostanie wykonana.
Aplikacja nie może wywołać tej metody do momentu pomyślnego uwierzytelnienia. Aby przeprowadzić uwierzytelnianie, wywołaj jedną z AuthenticateAsClientmetod , lub BeginAuthenticateAsClient, AuthenticateAsServerBeginAuthenticateAsServer .
Aby wykonać tę operację synchronicznie, użyj Write metody .