SslStream.EndWrite(IAsyncResult) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Завершает асинхронную операцию записи, запущенную до этого вызовом метода 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)
Параметры
- asyncResult
- IAsyncResult
Экземпляр IAsyncResult, возвращенный вызовом метода BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object).
Исключения
asyncResult
имеет значение null
.
Параметр asyncResult
не был создан вызовом метода BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object).
Нет ожидающей завершения операции записи.
-или-
Проверка подлинности не выполнялась.
Не удалось выполнить операцию записи.
Примеры
В следующем примере кода показано завершение асинхронной операции записи.
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();
}
Комментарии
Если операция не завершена, этот метод блокируется до тех пор, пока не завершится.
Приложение не может вызвать этот метод, пока вы не пройдете проверку подлинности. Для проверки подлинности AuthenticateAsClientвызовите один из методов , или BeginAuthenticateAsClient, AuthenticateAsServer. BeginAuthenticateAsServer
Чтобы выполнить эту операцию синхронно, используйте Write метод .