iasyncresult相关内容

C#Webrequest发布和GetResponse

我正在编写一个程序,它将XML提交给网站.编写的代码可以正常工作,但是有时,由于某种原因,它只是停止工作,会抛出一个错误.System.Net.ProtocolViolationException.我可以关闭程序并重新运行-它再次可以正常运行. 这是我正在使用的代码: 私有字符串Summit(字符串xml){字符串结果= string.Empty;StringBuilder sb = ne ..
发布时间:2021-04-18 19:07:06 C#/.NET

阻塞直到事件完成

如何阻止直到异步事件完成? 这是一种通过在事件处理程序中设置一个标志并轮询该标志来阻止事件被调用的方法: 私有对象DoAsynchronousCallSynchronously(){int完成= 0;AsynchronousObject obj =新的AsynchronousObject();obj.OnCompletedCallback + =委托{Interlocked.Increme ..
发布时间:2021-04-12 18:56:46 C#/.NET

IAsyncResult模式的优点是什么?

我觉得许多类(例如 TcpClient , UdpClient , HttpListener )如果已经被理解和使用起来会容易得多.事件驱动.而且 IAsyncResult 模式非常难以实现,因为它使您进入各种奇怪的用例: 如果调用者连续调用多个Begin方法怎么办? 如果调用者将Begin方法和常规方法混在一起怎么办? 以此类推.但是,Microsoft已选择在大多数地方使用它.为 ..
发布时间:2021-04-01 21:11:53 C#/.NET

异常,但仅在第3次-此类未从相应的异步方法返回IAsyncResult对象

我有一个旧版(2008年)Windows服务应用程序(使用System.ServiceProcess.ServiceBase),我需要以与其现在的工作方式稍有不同的方式来利用它.此刻,它启动并在特定端口上创建一个TCPLISTENER,供客户端应用程序连接到该端口(它一次执行一次),以便向侦听端口发送/接收请求.这一切都很好.但是,改编要求使用Web应用程序连接到侦听器端口,然后像往常一样发送/r ..
发布时间:2020-11-01 21:49:00 其他开发

什么是IAsyncResult接口的正确实现?

我正在考虑为我创建的一个类添加一些灵活性,该类与远程主机建立连接,然后执行信息交换(握手)。目前的实现提供了一个Connect函数,它建立连接,然后阻止等待一个ManualResetEvent,直到双方完成了握手。 这是一个打电话给我的课程的例子看起来像: //创建一个新的客户端实例 ClientClass cc = new ClientClass(“host of host”) ..
发布时间:2017-05-14 21:50:40 C#/.NET

C#的IAsyncResult为WaitAll

在一些我看到了下面的代码 IAsyncResult的RESULT1 = Method.BeginInvoke(10为WaitAll的实现,myCallBack函数的,NULL) IAsyncResult的结果2 = Method.BeginInvoke(20 myCallBack函数,NULL) 的WaitHandle [] = waitHandles的WaitHandle新[] {re ..
发布时间:2016-10-03 20:33:24 C#/.NET

C#,IAsyncResult的和线程池

我用动作<对象> .BeginInvoke()方法,这是否使用线程池或没有? 我有以下的C#代码: 列表< FileHash> hashList1 = hashList.Where((X,IND)=> IND%2 == 0).ToList(); 名单,LT; FileHash> hashList2 = hashList.Where((X,IND)=> ..
发布时间:2016-09-20 21:47:08 C#/.NET

是否AsyncWaitHandle.WaitOne阻止CLR线程?或者它创建一个I / O完成端口?

我有这个问题,确实 AsyncWaitHandle.WaitOne 阻止CLR线程?或者它创建一个I / O完成端口? 例如,当我跑我的应用程序启动任务'A',它初始化一些数据,当新的请求到来时,我希望他们能等到'A'已经完成,所以我可以做一个 IAsyncResult.AsyncWaitHandle.WaitOne ,但是......它阻塞调用线程,直到'A'端还是它创建将通知还当'A'完成一 ..
发布时间:2016-07-21 10:27:42 C#/.NET

实施明确的IAsyncResult

我一般警惕部分实现接口的。然而,的IAsyncResult 是一个有点特殊情况,因为它支持多种完全不同的使用模式。你多久使用/看到使用了 AsyncState / 的AsyncCallback 模式,而不是只调用 EndInvoke会,使用 AsyncWaitHandle ,或轮询 IsCompleted (呸)? 相关问题: ..
发布时间:2016-07-21 10:10:53 C#/.NET

太多的论点为的BeginXXX FromAsync?

我有一个异步方法具有以下签名: IAsyncResult的BeginGetMyNumber(串富,弦杆,弦蝙蝠,INT BAM,AsyncCallback的回调,对象的状态) 我想用Factory.FromAsync这样执行它: VAR的结果=任务&LT; INT&GT; .Factory.FromAsync( instance.BeginGetMyNumb ..
发布时间:2016-07-21 10:03:25 C#/.NET

我可以使用委托的单个实例来启动多个异步请求?

只是想知道,如果有人可以澄清一些委托的一个实例使用的BeginInvoke ,当你想使多个异步调用,因为MSDN文档并没有真正涵盖/提到这一点的。 我想要做的就是类似如下: MyDelegate D =新MyDelegate(this.TargetMethod); 名单&LT; IAsyncResult的&GT;结果=新名单,其中,IAsyncResult的&GT;(); //开始多个异步 ..
发布时间:2015-11-27 11:54:03 C#/.NET

如何创建一个IAsyncResult立即完成?

我实现这需要 BeginDoSomething 和 EndDoSomething 方法实现的接口。但是我的的DoSomething 是不是真的长期运行。 为简单起见假设的DoSomething 只比较两个变量,并返回是否A> B 所以我BeginDoSomething应该是这样的: 保护覆盖的IAsyncResult BeginDoSomething(INT A,INT B,AsyncCall ..
发布时间:2015-11-26 21:23:37 C#/.NET

什么是正确的实现IAsyncResult接口的?

我寻找到增加一些灵活性,我已经创建了它建立到远程主机的连接的类,然后进行信息交换(握手)。目前的实现提供了一个连接功能,建立连接,然后阻止等待一个ManualResetEvent的,直到双方​​已经完成了握手。 下面是一个什么样叫我的类看起来像一个例子: //创建一个新的客户端实例 ClientClass CC =新ClientClass(“地址主机”); 布尔成功= cc.Connect( ..
发布时间:2015-11-26 09:57:42 C#/.NET