拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED)) 使用Enterprise Library 3.0的磁盘缓存Isolated Storage 的问题

使用Enterprise Library 3.0的缓存,如果使用Isolated Storage,把缓存内容保存在磁盘上,web.config
<identity impersonate="false" />  报错:

拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.ApplicationException: 拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))

源错误:

行 34:         CacheManager Cache1 = CacheFactory.GetCacheManager("CacheIsolated");


只有设置了impersonate="true" 并且设置有系统管理员权限的帐号和密码,才可以正常使用。如下面的
<identity impersonate="true" userName="Administrator" password="123" />

如果不指定帐号和密码则报错:

无法创建存储区目录。 (异常来自 HRESULT:0x80131468)
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.IO.IsolatedStorage.IsolatedStorageException: 无法创建存储区目录。 (异常来自 HRESULT:0x80131468)

源错误:

行 34:         CacheManager Cache1 = CacheFactory.GetCacheManager("CacheIsolated");

这样其不有安全问题吗?如果你使用虚拟空间的话,怎么可能告诉你系统管理员的帐号和密码呢?

原文地址:https://www.cnblogs.com/adandelion/p/798971.html