我正在设计一个web应用程序,它将有多个可安装的模块,提供不同的功能。这里有很多常见的东西,我有3个C类库,我知道它们很容易在不同的项目中使用。
我被困的地方是真正的网站本身。理想情况下我想做一个ASP.NET
页面库
可以在多个项目中重复使用,但我知道这是不可能的。
你们如何组织你们的网站项目,以便页面可以在多个项目中重复使用?到目前为止,我提出的唯一解决方案是在SVN中创建一个存储库,并在
svn:externals
主项目的属性。这使我可以添加页面到该目录是共同的所有网站,我知道我将能够使用这个来检查他们到其他项目。但是,我觉得这有点笨拙,在创建新项目时会造成问题(创建新解决方案需要很多步骤,确保正确的外部设置到位)。
有更好的解决办法吗?当您希望在多个客户机项目之间共享公共ASPX文件时,最好的方法是什么?您如何针对它们管理更改?
提前谢谢!
编辑:
非常感谢大卫的回应。我对此有了更多的思考,我想我会列出一些更具体的想法/担忧。首先,对项目有点了解。主要是CMS。然而,我们也有客户想要CRM,也有客户既不想要也不想要整个定制系统。
在我上面的原始帖子中,我谈到了拥有主根目录的子目录(例如,
cms
),使用
svn:外部
允许跨多个项目轻松地重新共享网页。我开始认为这是唯一的办法。有一件事困扰着我,如果客户的网址是:
http://www.shotgunanddribble.com/cms/content.aspx
不过,我想我可以用
Application_BeginRequest
通过根据客户端站点的配置重写可怕的url来减轻其影响。E、 g,如果客户只是一个CMS,我可以将他们的顶级域重写为
/cms/
. 如果他们是一个客户关系管理系统。如果两者都是:
http://www.shotgunanddribble.com/
->
/cms公司/
http://crm.shotgunanddribble.com/
->
/crm/
使用这种重写有什么坏处吗?我想,除非别人有什么神奇的想法,
svn:外部
是我唯一的希望。