2009-12-09 69 views
6

想要收集一些关于应用程序(或可能的Web应用程序集)应该如何分解的观点(基于项目)...基本上整个事情将是一个大型网站,但问题的出现是因为它有各种各样的模块,每个模块都有自己的开发/发布周期。分解一个asp.net web应用程序

出现的问题是,将它们分开成为一个令人头疼的问题,试图使会话在站点之间共享,并将共享资源嵌入到DLL中,但将它们作为一个大项目是来自源代码管理角度的噩梦。

的方法可以做到这一点,我能想到的是:

  1. 有一个应用分支想疯了每个模块的工作:在一个基本风格的基础这似乎是正确的,但它将很多分支机构和合并分支在任何时候都将是一场噩梦...
  2. 使他们所有独立的应用程序:缺点是他们都分享他们的母版页和很多自定义控件(实施ASCX)。我知道如何将这些放入DLL(使用虚拟路径提供程序),但这是一个相当混乱的解决方案。在此之上是通过会话回往复主要建设一个自制会议解决方案的应用程序之间的...

另一件事我试图找出我是否可以做,但未能成功以某种方式有一个“虚拟文件夹“,以便例如”ModuleA“文件夹实际映射到”../../../ModuleA/Trunk/“。我是比较相信这不可能不使用某种形式的预生成的脚本来完成,但我希望的东西,居然会在Visual Studio中适当加载,所以我觉得这个想法是不走...

有没有人有任何建议,我应该用这种方式(无论是上述之一还是我没有考虑过的)?要确保我不拍自己的脚在这里的原因很可能是有很多的未来增强/维持长期的项目...

回答

3

我已经在我们的一个项目中完成了这项工作。在开发过程中我们肯定会遇到一些问题,但是为了可维护性,单独的项目在单独的dll中是绝对值得的

正如您对虚拟路径提供者所建议的那样,我有相同的链接可以帮助您。还通过我们已经创建的接口属性和创建单独的项目对接口和所有模块实现该接口两个模块之间的数据,所以我们可以从一个模块到模块onther值传递。

此外,它始终是最好,如果你正在构建模块化的应用程序,那么它应该是相互独立的,但最终它取决于你的需求。

Link1

UC From Database

为App之间的会话共享某些链接(我不会建议共享会话,但仍,如果你愿意,你可以通过这个文章)

ASP .Net Forum

Using State Server

StackOverflow

+0

你的看法似乎与我在试图找出全部结果时得出的结论非常接近。我同意直接分享这些链接中描述的会话是一件肮脏的事情 - 这样我才能在实现这些解决方案之前编写自己的会话控制器。至于使模块足够模块化而不共享数据,每个模块都是100%独立于任何其他模块的,但它们本质上与中央应用程序绑定,该中央应用程序将在webroot中运行(基本上它只是一个框架模块连接成)。 – fyjham 2009-12-10 10:03:59

+0

PS:暂时还不会接受这个 - 希望多给点时间看看是否有人有其他意见/方法。如果没有人在一两天内响起,我很可能会接受。 – fyjham 2009-12-10 10:10:22

0

如果你正在建设的项目我不知道这是由于存在的问题,使用asp.net 2.0是个好主意。 在我的项目中的某个阶段,我将这些ascx控件移到了独立的“控件库项目”中,该控件库项目让我获得了html字符串,然后将其放到网站的某个位置。 像使用<%= fControl%>语法里面的aspx页面,我填写该代码。 不是优雅的解决方案,但让事情变得更容易。无论如何,我们决定在PHP中重新实现项目,因为它更便宜并且不会造成这样的问题。

+0

嘿,我已经得到了ascx在dll运行时的工作情况(只有奇怪的是ascx的源代码路径,但即使这样也行)。此外,我们使用的是asp.net 3.5,这非常实用,因为作为一家公司,人们知道,并且整个公司对这个项目进行再培训并不是完全可行的。 – fyjham 2009-12-09 22:39:38

相关问题