.net 读取web.config设置文件系统性能

.net 读取web.config设置文件系统性能,.net,vb.net,web-config,settings,.net,Vb.net,Web Config,Settings,是否通过读取web.config设置 WebConfigurationManager.AppSettingsSetting1或WebConfigurationManager.ConnectionStringsConn1.ConnectionString每次都会导致对底层web.config文件的物理访问 如果是,将在共享静态方法中包装这些设置 Public Class MyAppSettings Public Shared Function Conn1() As String

是否通过读取web.config设置 WebConfigurationManager.AppSettingsSetting1或WebConfigurationManager.ConnectionStringsConn1.ConnectionString每次都会导致对底层web.config文件的物理访问

如果是,将在共享静态方法中包装这些设置

Public Class MyAppSettings
    Public Shared Function Conn1() As String
        Return WebConfigurationManager.ConnectionStrings("Conn1").ConnectionString
    End Function
    Public Shared Function Setting1() As String
        Return WebConfigurationManager.AppSettings("Setting1")
    End Function
End Class

更改访问web.config的方式?在修改web.config文件之前,设置是否会被缓存?

对这些方法的每次调用都会导致对web.config的物理访问。用静态方法包装它们不会改变任何东西,每次调用都会发生物理访问。

频繁访问web.config与将这些设置放入.dll文件相比,会对性能产生重大影响,但是我们无法在运行时更改设置?物理访问总是比硬编码值花费更长的时间,但我们谈论的是一两毫秒,这并不重要,而且在我看来,能够在运行时对系统进行更改所获得的价值远远超过对性能的影响。我做了一些进一步的研究,发现web.config在第一次访问时会缓存在内存中。因此,它不会导致对文件的物理访问。资料来源: