代码之家  ›  专栏  ›  技术社区  ›  Moo-Juice

如何构造供重用的ASP.NET项目

  •  2
  • Moo-Juice  · 技术社区  · 14 年前

    我正在设计一个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:外部 是我唯一的希望。

    1 回复  |  直到 14 年前
        1
  •  1
  •   David    14 年前

    实际的代码很容易放入其他程序集并从中继承,但是ASPX文件绝对是另一回事。如果有一个包含大多数显示内容的用户控件的公共库,每个项目都有自己的页面,而这些页面大多只是用户控件的框架,那该怎么办?我从来没有试过,所以可能有一些“陷阱”,我只是没有想象现在。