gpt4 book ai didi

c# - 如何构建 ASP.NET 项目以供重用

转载 作者:太空宇宙 更新时间:2023-11-03 14:25:24 25 4
gpt4 key购买 nike

我正在设计一个 Web 应用程序,该应用程序将具有多个提供不同功能的可安装模块。这里有很多常见的东西,我有 3 个 C# 类库,我知道它们可以很容易地用于不同的项目。

我坚持的一点是实际的网站本身。理想情况下,我想制作一个可以在多个项目中重复使用的 ASP.NET 页面库,但我知道这是不可能的。

你们如何构建您的网站项目,以便页面可以在多个项目中重复使用?到目前为止,我想出的唯一解决方案是在 SVN 中创建一个存储库,并在主项目的 svn:externals 属性中引用它。这使我可以将所有网站通用的页面添加到该目录,而且我知道我将能够使用它来将它们 check out 到其他项目。但是,我觉得这有点笨拙,并且会在创建新项目时引起问题(创建新解决方案需要很多步骤,确保正确的外部组件到位)。

有更好的解决方案吗?当您想跨多个客户端项目共享通用 ASPX 文件时,最好的方法是什么?您如何管理针对他们的更改?

提前致谢!

编辑:

非常感谢大卫的回复。我对此进行了更多思考,并认为我会列出一些更具体的想法/担忧。首先,更多关于项目的信息。首先,它是一个 CMS。但是,我们也有一些客户需要 CRM,也有一些客户两者都不想要,而是想要从头开始的整个定制系统。

在我上面的原始帖子中,我谈到了拥有主根目录的子目录(例如,cms),使用 svn:externals 允许轻松重新共享网络跨多个项目的页面。我开始认为这是做到这一点的唯一方法。困扰我的一件事是,如果客户的网址是:

http://www.shotgunanddribble.com/cms/content.aspx

但是,我认为我可以使用 Application_BeginRequest 根据客户端站点的配置重写它们,从而减少可怕的 url。例如,如果客户只是一个 CMS,我可以将他们的顶级域重写为 /cms/。如果他们是 CRM,则相同。如果他们都是:

http://www.shotgunanddribble.com/ -> /cms/

http://crm.shotgunanddribble.com/ -> /crm/

使用这些类型的重写有什么缺点吗?我认为,除非其他人有任何神奇的想法,否则 svn:externals 是我唯一的希望。

最佳答案

实际代码很容易放入其他程序集并从中继承,但 ASPX 文件绝对是另一回事。一个通用的用户控件库如何包含大部分显示内容,并且每个项目都有自己的页面,这些页面大多只是用户控件的框架?我从未尝试过,因此可能存在一些我现在没有想象到的“问题”。

关于c# - 如何构建 ASP.NET 项目以供重用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4233302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com