2011-02-19 137 views
0

我创建了可从Windows或Web应用程序使用的类库。 应该从类库中大多数方法中的那些调用应用程序的app.config或web.config中读取类库所需的一些设置。 为了提高性能,我想缓存一些如何这些设置信息为每个应用程序。如何在应用程序库中缓存/存储应用程序设置

我们该怎么做?一个建议是使用HttpRuntime.Cache对象。另一种方法可以是使用一些静态变量来存储数据,但它可能具有的AppDomain /范围冲突的问题..

所以,我不知道什么是这样做的最好的方式(请注意,它是一个通用类可以从Windows或Web应用程序中使用)

+0

请注意,我应该在配置设置上做一些处理以获得我实际需要使用的内容,这可能会非常耗时!例如创建一个基于数据库提供者名称或类似问题的DbFactory .. – smaildeveloper 2011-02-20 07:11:30

回答

0

您确定在调用App.config成员时存在性能问题,还是仅仅是猜测?
Config访问器实际上并不执行你的配置类中的I/O,如果编译得当,因为它们会生成编译属性,所以我认为这没什么问题,我怀疑你会从缓存中获得性能。

+0

你在某种程度上关于配置访问是正确的,但是我应该在配置设置上做一些处理以获得我实际需要使用的内容,这可能非常耗时!例如根据数据库提供者名称或类似问题创建一个DbFactory .. – smaildeveloper 2011-02-20 07:08:03

0

我在调用者的.config文件中是否应该存储类库设置或者是否应该在实例化时将该配置信息传递给类库时发生过很多内部冲突。一种解决方案是改变你的类库,以便在创建时获取它的配置信息(调用应用程序仍然可以从它的.config中产生这个)。这样你可以让调用应用程序控制配置数据的缓存。

例如 - web应用程序为每个请求读取其web.config并将其作为配置对象传递,而Windows应用程序将其app.config读取到配置对象中,并将其存储在某个位置,以便可以持续重新实例化库而不需要重新读取它的app.config。

相关问题