SslStream.EndWrite(IAsyncResult) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
结束通过以前调用 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
调用 BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) 后返回的 IAsyncResult 实例。
例外
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();
}
注解
如果操作尚未完成,则此方法将阻止,直到它完成。
在成功进行身份验证之前,应用程序无法调用此方法。 若要进行身份验证,请调用 、 或 BeginAuthenticateAsClient、 AuthenticateAsServerBeginAuthenticateAsServer 方法之AuthenticateAsClient一。
若要同步执行此操作,请使用 Write 方法。