【问题标题】:How to easily include common code across multiple ASP.NET MVC sites如何轻松地跨多个 ASP.NET MVC 站点包含通用代码
【发布时间】:2011-09-16 16:41:18
【问题描述】:

在工作中,我们有大约 30 个旧站点,它们使用一组通用代码运行,目前这些站点处于冷融合状态。对于这个公共代码,我们有一个项目,然后在 IIS 中设置一个虚拟目录,以将公共代码包含到每个站点中。这很好用,因为可以在一个地方对核心逻辑进行更改,并通过所有站点进行复制。而且由于我们所有的站点都托管在同一台服务器上,我们也可以只部署通用代码,并且更新所有实时站点,我们不需要发布每个站点。

但是,我们正在将我们的站点和核心代码重新编写到 c# 和 asp.net MVC 3 中。进展顺利,除了我们更新核心代码时,我们目前正在将 dll 复制到每个站点中,重新编译,然后发布每个站点。

虽然我们只用核心代码重新构建了几个站点,但这很好,但是当我们所有 30 个站点都用 .net 重新构建时,这将是非常痛苦的。

有没有人知道如何轻松使用和 delpoy 通用代码而无需将 dll 复制到每个站点?

到目前为止,我们已经尝试过: - 使用 dll 的虚拟目录(不起作用,因为需要重新编译站点代码,而且 IIS 似乎也不喜欢在 .net 站点上使用它) - 将我们常用的 dll 部署到 GAC - 这是一个问题,因为第三方库(例如 nHibernate)没有签名,所以也不能将它们添加到 GAC。

谢谢

萨恩

【问题讨论】:

    标签: asp.net-mvc iis-7 dll


    【解决方案1】:

    最简单的方法是自动执行更新过程。 但是,如果您想完全摆脱复制,那么您可以尝试名为“代码库”的东西。 这是“运行时如何定位程序集”的描述和“通过代码库或探测定位程序集”的详细信息http://msdn.microsoft.com/en-us/library/15hyw9x3(v=vs.71).aspx

    【讨论】:

      【解决方案2】:

      有趣。

      我还在下一个 .net 版本中看到他们有 http://www.asp.net/vnext/whats-new#_Toc_perf_3“共享通用程序集”

      这将为我们提供几个调查选项。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-15
        • 2010-11-17
        • 1970-01-01
        • 2018-10-23
        相关资源
        最近更新 更多