加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

wcf – 长时间轮询Windows Phone,60秒TimeOut

发布时间:2020-12-14 05:26:12 所属栏目:Windows 来源:网络整理
导读:HelloA Windows Phone应用程序需要连接到服务器并从中获取消息.这是使用WCF和服务器上的长轮询完成的. 3分钟是服务器上定义的超时.来自Windows Phone的呼叫是使用HttpWebRequest完成的. 问题是Windows Phone设备的get请求超时为60秒(模拟器具有不同的值,大于
HelloA Windows Phone应用程序需要连接到服务器并从中获取消息.这是使用WCF和服务器上的长轮询完成的. 3分钟是服务器上定义的超时.来自Windows Phone的呼叫是使用HttpWebRequest完成的.
问题是Windows Phone设备的get请求超时为60秒(模拟器具有不同的值,大于3分钟).
目前我不能减少服务器超时.在60秒后执行新的GetRequest不会再收到消息.
有没有人有想法?
谢谢

解决方法

我不认为在移动设备上打开连接是一个好主意.我假设你正在做的事情.在我的应用程序中,我只需要通过创建新的HttpWebRequest进行轮询.但是在我的应用程序中执行此操作是有意义的,因为我将每40秒更新一次列车到达状态.

如果您正在尝试按给定的时间表提取数据,请将计时器放入其中,并且每隔3分钟或任何要求调用Web服务器.

如果您希望能够检查事物(当应用程序关闭时)或者服务器上很少有新数据,那么您需要实现Push机制.

更新:这是一篇关于处理超时问题的好文章 – http://blog.xyzzer.me/2011/03/10/real-time-client-server-communication-on-windows-phone-with-long-polling/

更新2:如果你安排它,你有级联连接 – 我的意思是,因为你不能超过60秒每个连接,你可以写一个类,它将容纳两个连接,其中一个连接是关于超时,比如几秒钟之前,你可以开始打开另一个连接 – 你可以选择时间,这样它们之间最多可以重叠5秒.通过这种方式,您可以始终保持打开状态.

另外看看这些人使用GChat应用程序做了些什么,他们在link提供了源代码.这可能会提供更合适的设计.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读