Поделиться через


Решение диспетчера контактов

Джейсон Ли

В этой серии учебников используется пример решения — решение Диспетчера контактов — для представления приложения корпоративного уровня с реалистичным уровнем сложности. В этом разделе представлено решение Диспетчера контактов, описаны ключевые компоненты решения и определены проблемы при развертывании такого приложения на различных целевых платформах в корпоративной среде.

При работе с разделами в этих руководствах вы можете использовать решение Диспетчера контактов в качестве эталонной реализации, демонстрирующей, как можно решить конкретные проблемы в сценариях развертывания на предприятии. В следующем разделе Настройка решения Диспетчера контактов описывается скачивание и запуск решения на рабочей станции разработчика.

Общие сведения о решении

Решение Диспетчера контактов состоит из четырех отдельных проектов:

Решение Диспетчера контактов состоит из четырех отдельных проектов.

  • ContactManager.Mvc. Это проект веб-приложения ASP.NET MVC 3, представляющий точку входа для решения. Он предлагает некоторые базовые функции веб-приложения, такие как предоставление пользователям возможности создавать и просматривать контактные данные. Приложение использует службу Windows Communication Foundation (WCF) для управления контактами и базу данных служб приложений ASP.NET для управления проверкой подлинности и авторизацией.
  • ContactManager.Database. Это проект базы данных Visual Studio. Проект определяет схему для базы данных, в котором хранятся контактные данные.
  • ContactManager.Service. Это проект веб-службы WCF. Служба WCF предоставляет конечную точку, которая позволяет вызывающим абонентам выполнять операции создания, извлечения, обновления и удаления (CRUD) в базе данных ContactManager . Служба использует базу данных ContactManager и сборкуContactManager.Common.dll .
  • ContactManager.Common. Это проект библиотеки классов. Служба WCF использует типы, определенные в этой сборке.

Решение также содержит папку решения с именем Опубликовать. Он содержит различные пользовательские файлы проектов и командные файлы, демонстрирующие, как управлять процессом сборки и развертывания. Более подробно они рассматриваются далее в этом руководстве.

На концептуальном уровне компоненты решения объединяются следующим образом:

Как компоненты решения соответствуют друг другу на концептуальном уровне.

Примечание

Хотя веб-приложение ASP.NET MVC 3 использует поставщик членства ASP.NET, все страницы в веб-приложении разрешают анонимный доступ. Это явно нереалистичная конфигурация. Однако решение настраивается таким образом, чтобы упростить развертывание и тестирование решения без настройки учетных записей пользователей и ролей.

Трудности при развертывании

Решение Диспетчера контактов иллюстрирует несколько проблем развертывания, которые являются общими для многих корпоративных сценариев развертывания.

  • Решение состоит из нескольких зависимых проектов. Эти проекты необходимо развертывать одновременно.
  • Строки подключения и конечные точки службы необходимо обновлять для каждой среды, и во многих случаях эти сведения не будут доступны разработчику.
  • При развертывании базы данных ContactManager в промежуточной и рабочей средах необходимо сохранить существующие данные при последующих развертываниях.
  • При развертывании базы данных служб приложений ASP.NET необходимо развернуть некоторые данные конфигурации, но опустить данные учетной записи пользователя.
  • Проекты включают некоторые файлы и папки, которые не следует развертывать. Эти файлы и папки необходимо исключить из процесса развертывания.
  • Решение должно поддерживать автоматическое развертывание с сервера сборки Team Foundation Server (TFS).

Заключение

В этом разделе представлен общий обзор решения Диспетчера контактов и определены некоторые проблемы, связанные с развертыванием, которые являются общими для многих корпоративных сценариев развертывания. В остальных разделах этого руководства описаны некоторые методы, которые можно использовать для решения этих задач.

В следующем разделе Настройка решения Диспетчера контактов описывается скачивание и запуск решения на рабочей станции разработчика.