【发布时间】:2011-03-28 07:38:34
【问题描述】:
我有一个从 Silverlight 访问的 WCF 服务(不是 RIA)。该应用程序具有快速传入数据,当然还有 twitter 数据;)写入 SQL Server 数据库。 WCF 服务位于一个单独的 Web 项目中,我每 10 秒从 Silverlight 轮询一次服务器。
我注意到它最近变慢了,可能是由于数量的原因,尽管我将每个请求限制为 100 个对象(向所有查询添加 Take(100) 语句)。
我在我的 WCF 服务的构造函数中放置了一个 debug.writeline 语句,输出窗口显示它为每个请求构建,我认为这很糟糕,因为我愚蠢地将不同存储库等的构建放在那里,所以每个请求都必须是制作几个新的对象上下文。
除了轮询服务之外,Silverlight 是否还有其他方式?为我的客户经常需要少量(
【问题讨论】:
-
嗨,虽然我相信为每个传入的请求创建一个新的 WCF 服务类很好,但如果您加载的数据大部分相似,我相信您可以通过一些缓存逻辑来提高性能.. .
-
是的,我希望有一个设置,因为有人知道保存它,不断创建新实例,也许缓存或者只是在 ninject 上使用单例可能就足够了。
-
我通过将 Web 项目一分为二来提高性能,因为我确实有一个 Web 项目同时托管 XAP 和 WCf 服务。这似乎很有帮助。
标签: c# silverlight wcf wcf-client