C#报错System.Security.SecurityException
2026/6/11 4:26:55 网站建设 项目流程

C#报错System.Security.SecurityException


请求“System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”类型的权限已失败。

起因是是②要读写另一个应用程序①的某个目录,因为不知道DBA怎么管理实体目录,所以保险起见再查一遍,扫描之后别人的网站①就报这个错误(虽然这两个其实都是我负责的)。回收应用程序池、移除网站重新添加、重启IIS、重启IIS所在的电脑均没有作用,虽然在回退①的版本再重新更新不再报错,但是过一些时间又报错。
因为是接手别人的代码,懒得看,不想知道原作者载入这个文件想干什么,丢给ai换个写法就OK了

stringlog4netPath=Server.MapPath("~/log4net.xml");log4net.Config.XmlConfigurator.ConfigureAndWatch(newSystem.IO.FileInfo(log4netPath));

丢给ai改成以下,问文心一言、豆包、千问给出的代码完全一致,看来有前辈遇到过同样的问题:

//string log4netPath = Server.MapPath("~/log4net.xml");//log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(log4netPath));stringlog4netPath=Server.MapPath("~/log4net.xml");System.IO.FileStreamfs=newSystem.IO.FileStream(log4netPath,System.IO.FileMode.Open);log4net.Config.XmlConfigurator.Configure(fs);fs.Close();

挺奇妙的,扫盘的时候才会报错,不知道IIS干了什么

哦改完过会儿又报这个错,不过堆栈信息指向另一处,甚至没有对应到SourceCode,丢给ai,然后按照ai说的在应用程序池=>高级设置=>向下滚动到“进程模型”区域,找到 “加载用户配置文件” (Load User Profile)=>将其值从 False 更改为 True。
不知道过会儿还有没有问题。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询