多个ASP.Net应用程序使用的公共代码

时间:2008-12-02 15:52:15

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

情景:

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

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

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

谢谢!

3 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

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

通过这种方式,您可以在任意数量的解决方案上拥有一个项目,并解决您的问题;)