我需要就与我合作的组织最近的安全策略更改征求反馈。他们最近禁止将 DLL 二进制部署到共享的 IIS 6 应用程序服务器。这些服务器托管许多独立的 Web 应用程序池。新规则要求在 GAC 中安装所有 DLL。
这对我来说是个问题,因为我对多个 dll 进行了 bin 部署,包括 ASP.NET MVC 框架、HTML Agility Pack、ELMAH 和我自己的共享类库。我这样做是因为:
- 消除 Web 应用程序服务器对全局程序集缓存的依赖性。
- 允许我(开发人员)控制我的应用程序内部发生的事情。
- 使应用程序能够部署为“包”。
- 消除服务器管理员的应用程序部署负担。
现在,这是我的问题。
- 从安全角度来看,使用 GAC 与 bin-deployment 的优势是什么?
- 是否可以在 GAC 中托管同一 DLL 的多个版本?
- 有没有人遇到过类似的限制?