【问题标题】:Common code used by multiple ASP.Net Applications多个 ASP.Net 应用程序使用的通用代码
【发布时间】:2010-09-24 23:12:20
【问题描述】:

场景:

假设我有四个非常相似的应用程序(即大部分功能是相同的,但它们的差异足以证明每个应用程序都是独立的应用程序)。

在它们之间重用通用功能代码的最佳方式是什么? COM+?网络服务?

一般来说,我通常只将代码放在单独的项目 (dll) 中,但无论何时更新,都必须为每个 ASP.Net 应用程序更新文件,并且不确定是否有更好的方法去做吧。

谢谢!

【问题讨论】:

    标签: asp.net .net-2.0 code-reuse


    【解决方案1】:

    如果可能,您可以创建一个包含 DLL 项目和多个 Web 应用程序或网站项目的 Visual Studio 解决方案。 Web 项目将具有对 DLL 项目的“项目”类型引用,并且所有内容都将同时构建。然后,您可以根据需要为每个 Web 项目使用“发布”工具。

    【讨论】:

      【解决方案2】:

      如果所有应用程序都位于同一虚拟服务器上,请考虑将共享程序集放在 GAC 中。这使您可以在需要时区分版本,并将所有内容放在同一个地方作为奖励。缺点:此程序集在完全信任的情况下运行,您应该使用策略和 CAS 来确保外部不受信任程序集的信任杠杆点没有提升。您还需要了解 [AllowPartiallyTrustedCallers] 属性。

      至于其他的选择,COM+,嗯,有点重量级。适合交易的东西。 Web 服务对于数据量大的服务来说不是很好,但如果做得好,可以相当可维护。分享的越多,回报就越好。

      【讨论】:

        【解决方案3】:

        您可以拥有自己的项目,但不要将公共 dll 添加到项目引用中,而是将公共项目添加到所有解决方案中,然后添加对公共项目的引用。

        这样你就可以在任意数量的解决方案上建立一个项目,你的问题就解决了;)

        【讨论】:

        • 是的,但每个引用 DLL 的项目可能仍需要重新编译,除非每个使用 DLL 的应用程序都有自己的 DLL 副本。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-07
        • 2011-05-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-05
        相关资源
        最近更新 更多