相关疑难解决方法(0)

BeginConnect和ConnectAsync有什么区别?

BeginConnect和之间有什么区别ConnectAsync?随后,BeginDisconnect和之间有什么区别DisconnectAsync

ConnectAsync文件规定:

"开始远程主机连接的异步请求."

BeginConnect文件指出:

"开始远程主机连接的异步请求."

无论是DisconnectAsyncBeginDisconnect也说出了同样的事情:

"开始异步请求以断开与远程端点的连接."

这些方法对与应该使用哪种方法之间的区别是什么?

c# sockets asynchronous connect disconnect

28
推荐指数
2
解决办法
1万
查看次数

AsyncCallBack异步完成

我最近注意到了以下模式,但我并没有完全掌握CompletedSynchronously属性的用法:

IAsyncResult channelOpenResult = channel.BeginOpen(new AsyncCallback(OnOpenCompleteChannel), channel);
if (channelOpenResult.CompletedSynchronously)  
{  
    CompleteOpenChannel(channelOpenResult);  
}
Run Code Online (Sandbox Code Playgroud)

然后,在回调中:

void OnOpenCompleteChannel(IAsyncResult result)  
{  
    if (result.CompletedSynchronously)  
        return;  
    else  
        CompleteOpenChannel(result);  
}
Run Code Online (Sandbox Code Playgroud)

代码中的某个地方当然有一个功能:

void CompleteOpenChannel(IAsyncResult result) ...
Run Code Online (Sandbox Code Playgroud)

这是一种处理异步调用的方式,具体取决于它是否直接完成?但是为什么在这种情况下使用它,因为始终会调用AsyncCallback(它会吗?)?有人可以给出一个同步调用的例子吗?

.net c# silverlight web-services

15
推荐指数
1
解决办法
6878
查看次数