2008-12-02 70 views
0

情景:公共代码

比方说,我有四个非常相似的应用程序(即大部分的功能是相同的,但他们有足够的不同来证明各自为单独的应用程序)。

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

一般来说,我通常只是在一个单独的项目(dll)中的代码,但随时更新,文件必须更新为每个ASP.Net应用程序,并不知道是否有更好的它的方式。

谢谢!

回答

4

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

2

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

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

1

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

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

+0

啊,但是每个项目引用的DLL可能还需要重新编译,除非每个应用程序使用DL​​L有thier自己DLL的副本。 – 2008-12-02 16:08:10