草庐IT

sendasync

全部标签

c# - 下载大文件时 SendAsync 和 CopyToAsync 不起作用

我有一个从浏览器接收请求的小应用程序,复制接收到的header和发布数据(或GET路径)并将其发送到另一个端点。然后等待结果并将其发送回浏览器。它像反向代理一样工作。在收到下载大文件的请求之前一切正常。30MB之类的东西会导致浏览器出现奇怪的行为。当浏览器达到大约8MB时,它会停止从我的应用程序接收数据,一段时间后,它会中止下载。其他一切都很好。如果我将SendAsync行更改为使用HttpCompletionOption.ResponseContentRead,它就可以正常工作。我假设在等待流和/或任务时出现问题,但我无法弄清楚发生了什么。该应用程序是用C#、.netCore(可用的

c# - HttpClient.SendAsync 使用线程池而不是异步 IO?

所以我一直在深入研究HttpClient.SendAsync的实现通过反射器。我有意想知道这些方法的执行流程,并确定调用哪个API来执行异步IO工作。探索里面的各个类之后HttpClient,我看到它在内部使用HttpClientHandler源自HttpMessageHandler并实现其SendAsync方法。这是HttpClientHandler.SendAsync的实现:protectedinternaloverrideTaskSendAsync(HttpRequestMessagerequest,CancellationTokencancellationToken){if(r

c# - DelegatingHandler 应该如何进行异步调用(ASP.NET MVC Web API)?

我很乐意在调用内部处理程序的SendAsync()之前执行同步工作,并在内部处理程序通过完成完成后执行同步工作。例如:protectedoverrideTaskSendAsync(HttpRequestMessagerequest,CancellationTokencancellationToken){//dosomesyncworkbeforeinnerhandlerherevarsendTask=base.SendAsync(request,cancellationToken);returnsendTask.ContinueWith(task=>{//dosomesyncworka

c# - 我可以从 SmtpClient.SendAsync 的 userToken 对象中获得什么好处?

我正在使用SMTPClient.Send(mail)方法发送电子邮件,但后来我看到,如果电子邮件ID不存在(不存在),我的应用程序会等待直到收到异常然后允许用户执行进一步的任务。所以我想到了使用SMTPClient.SendAsync方法。我的疑问!!这个作为参数传递给方法的userToken对象可以在哪里使用?我在网上搜索了很多东西,但没有找到一个很好的例子。即使在MSDN他们这样使用它stringuserState="testmessage1";client.SendAsync(message,userState);那它到底有什么用呢?提前致谢。 最佳答

c# - Xamarin.Forms - HttpClient SendAsync 中未处理的异常

尝试在Android上发送HTTP请求时遇到异常。在WinPhone上,它可以工作。这是我的代码:stringresp=null;using(varclient=newHttpClient()){varhttpRequest=newHttpRequestMessage(newHttpMethod("POST"),_uri);//client.BaseAddress=newUri(_uri);try{client.Timeout=TimeSpan.FromSeconds(30);var_cancelTokenSource=newCancellationTokenSource();var_

c#使用ping.send或sendasync始终成功

我很长时间以来一直在努力解决问题。我正在使用Unity,我想ping我的服务器和路由器。我一开始使用Unityping类,并且在大多数设备上都可以正常工作,但是当我在GooglePixel(Android7.1)上测试时,它总是返回-1。因此,我尝试将System.NET.NetWorkInformation用于Ping我的服务器。这是我的代码:privatevoidPingToServer(){AutoResetEventwaiter=newAutoResetEvent(false);System.Net.NetworkInformation.PingpingSender=newSystem

C# Windows 窗体 ping.SendAsync 问题与 DataGridView

所以我在下面有这段代码。我找到了一个预览帖子,并从这里开始处理它。但由于某种原因,它没有循环并更新具有回复状态的单元格。它只更新列表中的最后一个ip。privatestaticvoidping_PingCompleted(objectsender,PingCompletedEventArgse){varreply=e.Reply;DataGridViewRowrow=e.UserStateasDataGridViewRow;DataGridViewCellPingStat=row.Cells["cPing"];if(!(reply==null)){switch(reply.Status

c# - TCP Socket SendAsync 操作是否可以在不传输 BufferList 中的所有字节的情况下完成?

在Mono3.12上,我使用Socket.SendAsync(SocketAsyncEventArgs)使用TCPStreamSocket来实现基于请求的流协议(protocol)。我正在使用SocketAsyncEventArgs.BufferList设置多个数据缓冲区。在Socket的文档中和SocketAsyncEventArgs,我找不到任何关于SocketAsyncEventArgs.Completed的提及当使用BufferList时,可以在不发送所有字节的情况下引发,留下我们必须根据SocketAsyncEventArgs.BytesTransferred进行验证的印象.

c# - TCP Socket SendAsync 操作是否可以在不传输 BufferList 中的所有字节的情况下完成?

在Mono3.12上,我使用Socket.SendAsync(SocketAsyncEventArgs)使用TCPStreamSocket来实现基于请求的流协议(protocol)。我正在使用SocketAsyncEventArgs.BufferList设置多个数据缓冲区。在Socket的文档中和SocketAsyncEventArgs,我找不到任何关于SocketAsyncEventArgs.Completed的提及当使用BufferList时,可以在不发送所有字节的情况下引发,留下我们必须根据SocketAsyncEventArgs.BytesTransferred进行验证的印象.

.net - Socket.SendAsync 未检测到无效的 TCP 连接

我遇到Socket.SendAsync方法未检测到死TCP连接的问题。在我的客户端/服务器应用程序中,服务器定期向连接的客户端发送心跳。我遇到的问题是,即使客户端可能已死,来自SendAsync方法的回调指示“SocketError.Success”并且Socket.Connected属性为真,即使客户端不再“活着””。因此,对于服务器来说,心跳数据似乎已正确发送并且客户端仍然存在。我每次都看到这个问题,客户端PC要么进入休眠/休眠状态,要么例如当客户端在VMWare实例中运行并且该实例被挂起时。当客户端关闭应用程序、从任务管理器中将其终止等时,我没有看到此问题。internalvoi
12