相关疑难解决方法(0)

ConfigurationManager.AppSettings缓存

我们知道IIS缓存ConfigurationManager.AppSettings,因此它只读取磁盘一次,直到更改了web.config.这样做是出于性能目的.

有人在:

http://forums.asp.net/p/1080926/1598469.aspx#1598469

表示.NET Framework不会对app.config执行相同操作,但它会从磁盘读取每个请求.但我觉得很难相信,因为它会变慢.请告诉我他错了或者我必须修复我写的每个控制台/ Windows窗体/ Windows服务.

更新我很遗憾我误解了人们在上面的链接论坛中所说的内容.

.net asp.net performance caching configurationmanager

43
推荐指数
1
解决办法
2万
查看次数

如何在修改web.config时阻止ASP.NET应用程序重新启动?

我通过该ApplicationHost.CreateApplicationHost方法托管ASP.NET运行时.当我修改web.config应用程序运行时,我看到很多第一次机会ThreadAbortException抛出.这是在我的应用程序崩溃之前.我假设这是因为运行时已检测到配置更改并想要重新启动.

这对我们来说并不是真正受支持的场景,所以我更愿意,如果我可以关闭自动重新加载.

有谁知道如何做到这一点?

asp.net iis web-config recycle httpruntime

34
推荐指数
4
解决办法
4万
查看次数

每次从cfg文件读取RoleEnvironment.GetConfigurationSettingValue吗?

azure角色设置非常有用,因为它允许您在IIS运行时即时更改值.但问题是,如果你有足够的用户,并且每次从文件中读取配置值时,最好不要将它放在静态变量中使用它.下一个问题,如果你把它放在一个静态变量中,那么你每次更改它时都必须重置IIS.我做了一些研究,并在stackoverflow上发现了类似的问题,它告诉我只有第一次读取conf文件,然后将它存储在缓存中.但是回答的问题是ConfigurationManager,我的是来自Azure的RoleManager.

这是获取azure当前设置的行:

RoleEnvironment.GetConfigurationSettingValue("Appname.settingKey");
Run Code Online (Sandbox Code Playgroud)

这是一个将其保存在缓存中,我知道它是如何工作的,并得到电流设定例:ConnectionString的webconfig:

ConfigurationManager.ConnectionStrings["SettingKey"].ConnectionString;
Run Code Online (Sandbox Code Playgroud)

.net c# iis azure

10
推荐指数
1
解决办法
484
查看次数