1

我的产品目前的完整部署大小为 72MB,其中 68 个 MB 是在我的应用程序的 bin 文件夹中找到的 DLL。主应用程序 DLL 本身小于 2 MB,因此绝大多数占用空间来自 MVC 本身,以及我的项目具有的一些“插件”(Stimulsoft Reports、Glimpse 等)。

该应用程序最终将部署到 2000 个网站。显然,以这种方式部署的应用程序存在大量冗余(Bin Deployed -- Copy Local True)。如何减少此部署的总体占用空间?

我能找到的所有文档实际上只解决了“单一部署”的情况。我无法找到任何真正解释如何以节省部署大小、磁盘空间和内存使用的方式执行此操作的内容。

我可以使用哪些关键策略以最小的占用空间成功地将我的应用程序部署到数千个站点?

4

1 回答 1

1

Bin 部署,即使是 2000 次,仍然可能是最好的方法。与构建自定义来管理它的成本相比,磁盘空间非常便宜。

如果你真的想要,你可以通过强命名它们并将它们添加到GAC来减少磁盘上的 DLL 计数/大小。但是,将程序集放入 GAC 确实需要注意许多权衡,例如版本控制和信任级别的潜在问题。

通过将站点分组到相同的应用程序池中(共享程序集只会加载一次),可以减少 Web 服务器上的内存消耗 - 但是我再次不推荐这样做。共享应用程序池意味着没有隔离 - 因此,如果一个站点出现故障,它们都会出现故障。

也就是说,最好的选择是购买更多的磁盘空间和内存,如果可能的话不要担心 - 但你必须确保你了解权衡。

于 2013-05-07T20:13:21.730 回答