- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
await httpClient.SendAsync(httpContent)
没有响应,但我发现代码/url 中没有错误,它仍然挂起。请建议/帮助。
我的代码如下:
public async Task<string> Get_API_Result_String(string url, List<KeyValuePair<string, string>> parameters)
{
string res = "";
try
{
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
//Prepare url
Uri mainurl = new Uri(settings[FSAPARAM.UserSettingsParam.SERVERNAME].ToString());
Uri requesturl = new Uri(mainurl, url);
var httpClient = new HttpClient();
var httpContent = new HttpRequestMessage(HttpMethod.Post, requesturl);
// httpContent.Headers.ExpectContinue = false;
httpContent.Content = new FormUrlEncodedContent(parameters);
HttpResponseMessage response = await httpClient.SendAsync(httpContent);
var result = await response.Content.ReadAsStringAsync();
res = result.ToString();
response.Dispose();
httpClient.Dispose();
httpContent.Dispose();
}
catch (Exception ex)
{
Logger l = new Logger();
l.LogInfo("Get_API_Result_String: "+ url + ex.Message.ToString());
ex = null;
l = null;
}
return res;
}
在另一个类中调用如下:
NetUtil u = new NetUtil();
string result = await u.Get_API_Result_String(Register_API, values);
u = null;
最佳答案
我预测,在您的调用堆栈的更上方,您正在对返回的 Task
调用 Wait
或 Result
。 This will cause a deadlock我在我的博客上对此进行了全面解释。
总而言之,await
将捕获上下文并使用它来恢复 async
方法;在 UI 应用程序上,这是一个 UI 线程。但是,如果 UI 线程被阻塞(在调用 Wait
或 Result
时),则该线程无法恢复 async
方法.
关于c# - await httpClient.SendAsync(httpContent) 没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32286151/
我有一个使用 *Async 方法(如 SendAsync)通过套接字进行通信的应用程序。我在执行 SendAsync 但未通过网络发送数据时遇到这种奇怪的行为。 我已启用网络跟踪并获得以下日志: Sy
我编写了一个小 winforms 应用程序,它向本地网络中的每个 IP 地址发送 http 请求,以发现我的某个设备。在我的特定子网掩码上,有 512 个地址。我已经使用 backGroundWork
我一直在关注this VSTF_RD_Bot example code . 我无法构建此代码,因为我收到以下消息: The type arguments for method 'Conversatio
如以下简化代码所示,检查 SendAsync() 是否已完成缓冲区中所有预期字节的传输是正确的做法吗?还是那是多余的?这是一个 TCP 连接套接字。我特别担心必须在 ProcessSend() 中发出
在使用 SendAsync 时处理 SmtpClient 和 MailMessage 的正确方法是什么? 我已经在下面复制了我的代码。 { ... var client = new SmtpClien
我正在使用 SendAsync 方法循环发送 1000 条消息,并在这行代码中得到下面的异常 await _ws.SendAsync(new ArraySegment(messageBuffer, o
In asp.net - using Message Handlers - 我可以通过添加消息处理程序来自定义请求/响应。 因此,一个请求进入,通过多个消息处理程序,然后响应通过相同的处理程序(在相反
我正在调用以下函数来获取访问 token ,以便使用 REST Api 检索 Twitter 用户个人资料。 public async Task GetAccessToken() {
我刚刚编写了一些测试代码来查看 System.Net.Mail.SmtpClient 向我自己发送相同的消息。 int numClients = 10; List mailClients = new
我正在尝试使用 Atomix 在 Java 的两个进程之间发送消息和 Netty 。我有一个名为 Starter 的程序,它负责向所有正在等待该消息的正在运行的进程发送消息。 这是入门版: Addre
我正在尝试用 C# 构建一个小型应用程序,以从 Microsoft Graph API 检索建议的 session 时间。身份验证后,我调用 graphClient.HttpProvider.Send
我正在尝试编写一个辅助类来在我的 C# 应用程序中发送电子邮件。我想使用 SmtpClient.SendAsync,但显然我不了解异步的工作原理或者我设置了错误: public class Email
在我的应用程序中,我使用 Dataflow 库中的 ActionBlock,使用 SmtpClient.SendAsync() 发送电子邮件警报方法,它不会阻止调用线程。(ActionBlock 从
应用程序要求使用 SendAsync 而不仅仅是发送。所以我制作了一个 CEmailServer 类并设置了所有内容。到目前为止, Send 工作正常,但是当将其更改为与 SendAsync 一起使用
我有一个 Websocket HTTPListener 作为服务器,客户端是 WebSocket的 我将所有当前客户端保存在一个列表中,我想要一个向所有客户端异步发送信息的函数。 所以我目前拥有的是:
我正在尝试优化一个 tcp 套接字包装器,它在处理大量入站连接时遇到了困难。我正在一个基本的聊天服务器和一个小型客户端应用程序中测试它以将客户端发送给它。这两个应用程序都位于通过千兆交换机连接的单独
我正在尝试熟悉 smtp.SendAsync,但出于某种原因,我无法让邮件消息发送异步。 这是我试过的。 //smtp.SendAsync(mm, null)); Error, Async opera
我正在摆弄 Silverlight 的 TCP 通信,我被迫使用 System.Net.Sockets.Socket 类,它在 Silverlight 运行时只有异步方法。 我想知道如果两个线程在很短
我正在使用 .NET 4.0 的 ASP.NET Web API 客户端库(Microsoft.AspNet.WebApi.Client 版本 4.0.30506.0)。 我需要发送带有请求正文的 H
我有一个接口(interface),它有一个方法来创建队列客户端和消息工厂的实例。我已经创建了相同的具体实现,现在我正在尝试对用于将消息发送到队列的功能进行单元测试。我已经为相同的代码编写了以下代码:
我是一名优秀的程序员,十分优秀!