0

设想:

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

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

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

谢谢!

4

3 回答 3

4

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

于 2008-12-02T15:59:54.670 回答
2

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

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

于 2008-12-02T15:58:58.090 回答
1

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

这样,您可以在任意数量的解决方案上拥有一个项目,并且您的问题已解决;)

于 2008-12-02T16:00:42.390 回答