Contact Manager 解决方案

作者 :Jason Lee

系列教程 使用示例解决方案(Contact Manager 解决方案)来表示具有实际复杂性的企业级应用程序。 本主题介绍 Contact Manager 解决方案,介绍解决方案的关键组件,并确定在企业环境中将此类应用程序部署到各种目标平台时所面临的挑战。

完成这些教程中的主题时,可以使用 Contact Manager 解决方案作为参考实现,演示如何在企业部署方案中应对特定挑战。 下一主题 设置 Contact Manager 解决方案介绍了如何在开发人员工作站上下载和运行解决方案。

解决方案概述

Contact Manager 解决方案由四个单独的项目组成:

Contact Manager 解决方案由四个单独的项目组成。

  • ContactManager.Mvc。 这是一个 ASP.NET MVC 3 Web 应用程序项目,表示解决方案的入口点。 它提供一些基本的 Web 应用程序功能,例如为用户提供创建和查看联系人详细信息的功能。 应用程序依赖于 Windows Communication Foundation (WCF) 服务来管理联系人,依赖于 ASP.NET 应用程序服务数据库来管理身份验证和授权。
  • ContactManager.Database。 这是一个 Visual Studio 数据库项目。 项目定义存储联系人详细信息的数据库的架构。
  • ContactManager.Service。 这是一个 WCF Web 服务项目。 WCF 服务公开一个终结点,该终结点允许调用方对 ContactManager 数据库执行创建、检索、更新和删除 (CRUD) 操作。 该服务依赖于 ContactManager 数据库和 ContactManager.Common.dll 程序集。
  • ContactManager.Common。 这是一个类库项目。 WCF 服务依赖于此程序集中定义的类型。

该解决方案还包括名为“发布”的解决方案文件夹。 其中包含各种自定义项目文件和命令文件,用于演示如何控制和操作生成和部署过程。 本教程稍后会更详细地介绍这些内容。

在概念级别,解决方案的组件组合在一起,如下所示:

解决方案的组件如何在概念级别组合在一起。

注意

虽然 ASP.NET MVC 3 Web 应用程序使用 ASP.NET 成员资格提供程序,但 Web 应用程序中的所有页面都允许匿名访问。 这显然不是现实的配置。 但是,以这种方式设置解决方案,使你无需配置用户帐户和角色即可更轻松地部署和测试解决方案。

部署难题

Contact Manager 解决方案说明了许多企业部署方案常见的几个部署难题:

  • 该解决方案由多个依赖项目组成。 需要同时部署这些项目。
  • 需要为每个环境更新连接字符串和服务终结点,并且在许多情况下,开发人员无法使用此信息。
  • ContactManager 数据库部署到过渡环境和生产环境时,需要在后续部署中保留现有数据。
  • 部署 ASP.NET 应用程序服务数据库时,需要部署一些配置数据,但省略任何用户帐户数据。
  • 项目包括一些不应部署的文件和文件夹。 需要从部署过程中排除这些文件和文件夹。
  • 该解决方案需要支持从 Team Foundation Server (TFS) 生成服务器进行自动部署。

结论

本主题简要概述了 Contact Manager 解决方案,并确定了许多企业部署方案中常见的一些固有部署难题。 本教程中的其余主题介绍了一些可用于应对这些挑战的技术。

下一主题 设置 Contact Manager 解决方案介绍了如何在开发人员工作站上下载和运行解决方案。