【发布时间】:2014-08-22 23:23:00
【问题描述】:
我正在开发一个 Windows 窗体应用程序,该应用程序在 Microsoft Azure 开发服务托管的云 SQL 服务上运行。没有能力实际拥有一个接收应用程序,这将允许我利用套接字,这是一个基本的陷阱,因为我的应用程序将严重依赖专用数据库,所以我希望能够不断检查数据库的变化和根据符合条件的行条目提醒当前用户。
我在一些博客/帖子中读到轮询(可能的解决方案)是一件坏事。那么,要考虑的方法是什么?
【问题讨论】:
-
轮询绝对是个坏主意。套接字到底有什么问题? WCF 是一个不错的选择(但它也使用套接字...)
-
@BradleyDotNET Azure 有一个 MSSQL 托管服务,所以安装/配置套接字看起来是不可能的
-
我现在明白了,您需要来自数据库的实时提要,最好的情况是仍然在某个服务级别进行轮询。艰难的召唤,真的。如果您可以在服务器上托管一个标准的 WCF 服务,该服务保留数据库的内存副本(并且只使用数据库进行恢复),那将会容易得多。
-
@BradleyDotNET 实际上,Azure 确实提供了托管虚拟机的能力。配置带有 Socket 接收器和 MSSQL 数据库的 Windows Server 机器的时间和超额成本有点捉襟见肘。设置这个会是一个更好的选择吗?或者您会说使用云 SQL 服务有什么可能?
-
很难说。我会使用该服务只是因为让 10K 客户不断查询数据库听起来像一个真的坏主意。有关更多信息,请参阅我的答案。
标签: c# winforms sockets azure polling