我对其中一个设计考虑很困惑。以下是我的要求:
我的网络应用程序需要通过数据库检索实时数据。
数据中的每次更新都应反映给用户。
会话可以持续几个小时
每个用户都会在报告中包含他们的个人数据(例如,选择*来自用户='A1'的用户;)
一次可以有大约300-400个用户
数据检索机制应该在主要应用程序之外(例如,Web服务)
我的应用与其他应用之间共享数据库
以下是我正在考虑的选项:
WCF网络服务:每个用户都会轮询更新,例如每5秒向网络服务发出一次请求。
使用SqlDependency和SqlCacheDependency查询通知:数据库中的每个更改都将通知我的Web服务,然后我的Web服务将通知每个用户(PS:将数据从我的Web服务发送到我的Web应用程序的其他机制) ) http://www.codeproject.com/Articles/144344/Query-Notification-using-SqlDependency-and-SqlCach#heading0010
目标是尽可能减少数据库的负载。我真的很喜欢方法1,因为它很简单,但是很长时间没有确定对这么多用户进行轮询会有任何性能问题吗?