我在Common.DLL中有一个静态DataTable(带有80k记录),而Common.DLL由10个Windows服务引用.因此,我不需要在内存中拥有10个DataTable副本,而是需要将其作为1个副本并将所有服务指向该数据源.这种方法可行吗?
鉴于服务将至少使用不同的AppDomain,并且很可能是不同的进程,在所有这些服务之间共享相同的数据将是棘手的.
我个人建议你不要担心 - 除非每条记录实际上都很大,80K记录仍然相当小.
您可能拥有第11个服务,这是唯一拥有数据的服务,然后从其他服务与该服务进行通信.但这引入了很多复杂性,收效甚微.
可能节省内存的一种方法是使用List<T>自定义类型而不是DataTable- 可能更有效,并且在代码中使用几乎肯定会更愉快.如果你真的需要 DataTable你正在做的任何事情,这没有任何帮助,但我个人试图避免......
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |