组织共享UI的多个Web项目的开发

时间:2013-04-04 08:19:55

标签: asp.net project-management web-deployment

我们有不同的基于网络的产品。所有产品共享相同的底层认证和授权机制。所有这些都在同一个数据库服务器上,最终发布到同一个服务器上。

每个项目都有自己的命名空间,文件夹结构和页面。仍然由于共享身份验证和授权,我们在所有项目中使用登录和其他页面。

另外,为了使我们使用相同母版页的项目/产品外观和感觉一致。

目前我们有一个单独的项目,其中包含共享内容的代码,标记和脚本等。我们将标记和其他内容复制到所有项目以构建和运行它们。真是个地狱。我们必须一直包含/排除文件,更改名称空间等,以确保所有相关项目中的共享内容都处于同一版本。

以我们不去庇护的方式处理所有这些问题的最佳方法是什么?

我们正在使用ASP.Net 4.0,Visual Studio 2010,Telerik 2013 Q1发布。

1 个答案:

答案 0 :(得分:1)

您有几种方法可以改善您的情况。您的最佳选择可能取决于您提供的信息,但以下内容可能值得调查。

  1. 解密授权系统。如果多个应用程序使用单个公共授权代码库,那么您可能需要考虑将功能分离到独立(可能是基于Web服务的)应用程序中。通过这种架构进行授权很棘手,从安全角度来看容易出错,但是可以实现。然后,授权代码库只需要维护在一个位置,这将不可避免地减少部署和构建错误。

  2. 扩展配置管理。您的应用程序是否具有任何配置管理功能?如果没有,它应该。它可能很好地解决了包含和排除以及命名空间斩波方面的问题,特别是与第3点结合使用时。

  3. 改进版本控制管理。听起来好像您可能没有充分利用版本控制系统。虽然您提到了问题中的版本,但如果您为不同的应用程序维护公共中继的不同分支,那么由于自定义可以共存,因此可能会减少甚至不需要删除命名空间和包含和排除。