我试图在共享托管环境中的MVC应用中使用DevTrends Donut Caching。
当我上传应用时,我收到此错误:
System.Security.SecurityException:MvcDonutCaching没有 读取web.config部分的权限' OutputCacheSettingsSection'。
主机提供商表示此限制是由于中等信任环境造成的。
虽然我不知道足以与此争论,但基本的Web.Config设置在中等信任下是不可用的,这似乎很奇怪/不合理。
另外,在this workitem的底部,从2012年起,作者声明:
我添加了一些代码以允许在严格使用MvcDonutCaching 中信任环境
我是否可以在中等信任环境中访问这些设置?
我在web.config中使用的缓存设置如下:
<system.web>
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="CacheFor1Hour" duration="3600" varyByParam="none" />
<add name="RecacheOnUpdate" duration="2419200" varyByParam="*" />
<add name="Dashboard" duration="86400" varyByParam="*" varyByCustom="User" location="Server" />
</outputCacheProfiles>
</outputCacheSettings>
</caching>
</system.web>
答案 0 :(得分:0)
好的,我在这里找到答案:http://mvcdonutcaching.codeplex.com/workitem/2466
所以看起来你不能在严格的中信任环境中做到这一点。我希望我的托管公司像大多数托管公司&#34;在下面的引文中......: - (
感谢您的全面描述。我跟踪了 问题。因为您有严格的中等信任环境, MvcDonutCaching无法从中访问ConfigurationSection 存储缓存配置文件的web.config。我已经改进了代码 提供有意义的错误消息,但没有该权限,它是 无法使用缓存配置文件。大多数托管环境修改 中等信任设置允许访问配置节, 因此,如果您拥有服务器,这是一个对您开放的选项。除此以外, 要使用MvcDonutCaching,您需要避免缓存配置文件并添加 属性本身的持续时间。