我是一名php程序员,而不是c#,但请耐心等待。
我有一个应用程序连接到一个不时发送推送消息的API。它使用长轮询作为机制。我已经研究过使用signalR,但所有示例都显示服务器正在推送消息。我希望服务器通过longpolling接收消息。有谁知道怎么做?
答案 0 :(得分:6)
是。只需启动对远程端点的请求并等待响应。处理完响应后,再次开始。就这么简单。
public async Task LongPoll(Uri remoteEndPoint)
{
for(;;)
{
string data;
using(var wc=new WebClient())
{
data = await wc.DownloadStringTaskAsync(remoteEndPoint);
}
Process(data);
}
}
我在这里忽略了取消,但如果你想要优雅地终止你的应用,你需要考虑如何结束轮询。