【问题标题】:Long Polling from Server Side C#来自服务器端 C# 的长轮询
【发布时间】:2014-08-13 16:32:24
【问题描述】:

我更像是一个 php 程序员,不是 c#,但请耐心等待。

我有一个与不时发送推送消息的 API 连接的应用程序。它使用长轮询作为机制。我已经研究过为此使用 signalR,但所有示例都显示服务器推送消息。我希望服务器通过长轮询接收消息。有人知道怎么做吗?

【问题讨论】:

    标签: c# long-polling


    【解决方案1】:

    是的。只需启动对远程端点的请求并等待响应。处理完响应后,重新开始。就这么简单。

    public async Task LongPoll(Uri remoteEndPoint)
    {
        for(;;)
        {
            string data;
            using(var wc=new WebClient())
            {
                data = await wc.DownloadStringTaskAsync(remoteEndPoint);
            }
            Process(data);  
        }
    }
    

    我在这里忽略了取消,但是如果您想优雅地终止您的应用程序,您需要考虑轮询如何结束。

    【讨论】:

    • 您还必须注意您的托管环境,如果一段时间内没有请求进入,IIS 可能会关闭您的程序。
    猜你喜欢
    • 2013-05-25
    • 2012-07-03
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-14
    • 2011-06-05
    相关资源
    最近更新 更多