在无状态环境中处理大对象

时间:2013-05-09 12:19:30

标签: performance wcf stateless

我们有各种各样的Windows服务,可以加载大量数据,即大部分设置,从数据库到每当调用我们的各种.net远程功能时使用的对象(我知道它已经老了!)。将此对象包含在内存中的所有这些设置可以节省我们不断查询数据库或在执行查询时从缓存加载数据。

此“大”对象中的设置是数据的集合,来自id,路径,文本等......

我们希望从.net远程处理转移到wcf并可能摆脱我们的Windows服务并在IIS(最终是Azure)下运行该批次,但是无状态,我想知道我们应该如何处理这个?

1)你能想到的最佳方法是什么?从经验来看,最好。

向我提出的一个建议是将所有这些内容返回给客户端,缓存它并在进行wcf调用时仅使用相关设置。

2)我们提供的众多服务包括轮询服务,持续监控,数据库,文件位置,ftp位置等等......您如何建议在无状态环境中处理此问题?我看不出这将如何处理。

我们使用SQL Server,但我不想过分依赖内置功能,因为我们可能不得不支持mySQL和amp;甲骨文。

感谢。

亨利

1 个答案:

答案 0 :(得分:0)

您可以将这些设置存储在配置文件的AppSettings部分(IIS的Web.config)。使用ConfigurationManager类,您可以根据需要检索相关值。

如果您希望存储设置对象static实例,建议为其实施单例模式。 Jon Skeet的article是一个很好的起点。

希望这有帮助。