1

我需要就与我合作的组织最近的安全策略更改征求反馈。他们最近禁止将 DLL 二进制部署到共享的 IIS 6 应用程序服务器。这些服务器托管许多独立的 Web 应用程序池。新规则要求在 GAC 中安装所有 DLL。

这对我来说是个问题,因为我对多个 dll 进行了 bin 部署,包括 ASP.NET MVC 框架、HTML Agility Pack、ELMAH 和我自己的共享类库。我这样做是因为:

  • 消除 Web 应用程序服务器对全局程序集缓存的依赖性。
  • 允许我(开发人员)控制我的应用程序内部发生的事情。
  • 使应用程序能够部署为“包”。
  • 消除服务器管理员的应用程序部署负担。

现在,这是我的问题。

  • 从安全角度来看,使用 GAC 与 bin-deployment 的优势是什么?
  • 是否可以在 GAC 中托管同一 DLL 的多个版本?
  • 有没有人遇到过类似的限制?
4

1 回答 1

2
  1. 它允许他们将信任策略旋钮转到十一。
  2. 是的。当你做出重大改变时,一定要增加你的 [AssemblyVersion]
  3. 是的。

尽量不要争论这个决定,你不可能赢。确保所有程序集都是强命名的,使用 gacutil.exe 进行测试

于 2010-05-08T21:02:53.307 回答