Поделиться через


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 метод .

Применяется к