我正在为Microsoft IIS编写HTTPModule。作为初始化回调函数的一部分,它从磁盘读入配置文件。这在我们的一个开发环境中运行良好,但在新创建的环境中,我们收到以下错误:
>“/”应用程序中的服务器错误 安全例外 来源错误:
在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。
堆栈追踪:
tf.multiply()
抛出错误的代码如下所示
[SecurityException: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0
System.Security.CodeAccessPermission.Demand() +55
System.Configuration.ConfigurationFileMap.GetFilenameFromMachineConfigFilePath() +77
System.Configuration.ClientConfigurationHost.OpenExeConfiguration(ConfigurationFileMap fileMap, Boolean isMachine, ConfigurationUserLevel userLevel, String exePath) +44
System.Configuration.ConfigurationManager.OpenExeConfigurationImpl(ConfigurationFileMap fileMap, Boolean isMachine, ConfigurationUserLevel userLevel, String exePath, Boolean preLoad) +112
System.Configuration.ConfigurationManager.OpenMappedExeConfiguration(ExeConfigurationFileMap fileMap, ConfigurationUserLevel userLevel) +50
abc..ctor() in C:\repos\myrepo\src\a\Configuration\MyConfig.cs:40
def..ctor() in C:\repos\myrepo\src\a\MyModule.cs:48
两个服务器上的信任级别都设置为“完全”,我们已经尝试了文件的各种文件权限组合,那么可能导致这种情况发生了什么?
答案 0 :(得分:1)
我们发现了这个问题。在Windows中构建文件后,我们将它们放在一个zip文件中。将文件添加到zip文件后,会在解压缩文件夹后保留所有文件的阻止属性。通过右键单击文件解压缩文件,选择属性,然后单击底部的取消阻止按钮,可以删除这些文件。这是更多信息的链接
https://blogs.msdn.microsoft.com/delay/p/unblockingdownloadedfile/
要防止Windows中的阻塞属性,可以查看以下stackoverflow线程:
https://superuser.com/questions/302146/can-i-stop-windows-from-blocking-zip-files