我们有一个用 c# 编写的在 IIS 上运行的 web 服务。
最近我们遇到了无法加载文件或程序集“mycustomlibrary.dll”的问题。访问被拒绝。
这种情况不会每次都发生在同一个程序集上。有什么指示可以指出在哪里查找吗?
答案1
有很多事情都可能引发访问被拒绝错误,有时它根本与权限无关。
因此,我们需要更多信息,例如;
- 该文件位于哪里?
- IIS 用户是否有权读取和执行此文件?
- 您正在使用哪个版本的 IIS(以及哪个版本的 Windows)
- 这个库正在尝试做什么(如果尚未执行,则可能需要以某种提升的权限运行某些操作)。
答案2
发现问题与模拟有关。有些调用是模拟的,而模拟的用户没有 %SystemRoot%\Microsoft.NET\Framework\versionNumber\Temporary ASP.NET Files 的权限
这里有更多关于 ACL 的详细信息