我怎么能结构的再利用ASP.NET项目
-
26-09-2019 - |
题
我在设计这将具有提供不同功能的多个可安装模块的网络应用程序的过程。这里是怎么回事了很多共同的东西在这里,我有3个C#类库,我知道会很容易在不同的项目中使用。
我坚持的对位是实际的网站本身。理想情况下,我想作一个ASP.NET的网页库的可重复使用在多个项目,但我明白,这是不可能的。
你们如何构建自己的网站项目,使页面可以被重新使用在多个项目?到目前为止,唯一的解决办法我已经出来是创建一个SVN仓库,并在它的主体工程svn:externals
性质引用。这使我的网页添加到目录中通用于所有的网站,我知道我将能够使用这个检查出来到其他项目。不过,我觉得这是一个有点笨重,会导致问题创建新项目时(有会是许多步骤来创建新的解决方案,确保正确的外部到位)。
有没有更好的解决办法?什么是当你要跨多个客户项目共享公共文件ASPX最好的方法是什么?你怎么对他们管理的变化?
提前感谢!
编辑:
非常感谢大卫他的回应。我有这个更多的思考,我想我会列出我的一些更具体的意见/关注。首先,更多的关于该项目(或多个)。首先,它是一个CMS。然而,我们也有希望CRM的客户,还有还有希望没有,想定制从地面系统整个客户端。
在我的上述原始信息,我谈到具有主根(例如,cms
)的子目录,使用svn:externals
以允许容易地重新共享在多个项目的网页。我开始认为这是做到这一点的唯一方法。困扰我的一件事是,如果客户的网址是:
http://www.shotgunanddribble.com/cms/content.aspx
然而,我想可以使用Application_BeginRequest
通过根据客户端的站点的结构重写它们减轻可怕网址。 E.g,如果客户只是一个CMS我可以重写他们的顶级域到/cms/
。同样的,如果他们是一个CRM。如果它们都是:
http://www.shotgunanddribble.com/
- > /cms/
http://crm.shotgunanddribble.com/
- > /crm/
是否有任何缺点使用这些类型的重写?我认为,除非任何人有任何神秘的想法,svn:externals
是我唯一的希望。
解决方案
实际的代码是很容易的把其他组件和继承,但ASPX文件绝对是一个不同的故事。如何用户控件的公共库包含大部分的显示内容,每个项目将有自己的网页,其大多只是框架的用户控件?我从来没有尝试过,所以有可能会出现一些“疑难杂症”,我只是没有现在想象的权利。