Опубликован: 25.03.2010 | Уровень: специалист | Доступ: платный
Дополнительный материал 2:

Практические рекомендации

Зависимости

  • Как управлять зависимостями веб-служб.
  • Как управлять зависимостями БД.

Как управлять зависимостями веб-служб

Как правило, URL веб-службы в рабочей среде отличается от ее URL в средах разработки и тестирования. Чтобы облегчить управление веб-службами, значение URL нужно указывать в пользовательском файле конфигурации, который может изменяться отдельными разработчиками и тестировщика-ми, не затрагивая главный конфигурационный файл App.config. Для этого следует присвоить свойству URL Behavior ссылки на веб-службу значение Dynamic. Ссылайтесь на URL веб-службы при помощи пользовательского файла конфигурации.

По умолчанию при добавлении веб-ссылки Visual Studio присваивает указанному свойству значение Dynamic.

Проверка значения свойства URL Behavior

  1. В Solution Explorer разверните список веб-ссылок.
  2. Выделите все веб-ссылки в списке.
  3. Убедитесь, что свойству URL Behavior каждой ссылки присвоено значение Dynamic.

Указание URL веб-службы в пользовательском файле конфигурации

При первом добавлении веб-ссылки файл App.config выглядит примерно так:

<configuration> 
  <configSections>
<sectionGroup name="applicationSettings" type="System.Configuration. 
   ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, 
      PublicK eyToken=b77a5c561934e089" >
<section name=" SomeService.Properties.Settings"
    type="System. Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, 
    PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup> 
 </configSections> <applicationSettings>
    <YourProject.Properties.Settings>
    <setting name="SomeService_ localhost _Service" serializeAs="String">
     <value>http://localhost/someservice/Service.asmx</value> </setting> </  
       YourProject.Properties.Settings> 
  </applicationSettings> 
</configuration>

В этом файле есть конфигурационный новый раздел с адресом веб-службы, заданным Visual Studio при создании этого прокси.

Создание файла User.config

  1. В окне Solution Explorer щелкните правой кнопкой проект, содержащий ссылку на веб-службу, раскройте подменю Add и выберите команду New Item.
  2. Выделите Application Configuration File, измените имя на User.config и щелкните Add.
  3. Скопируйте параметр <YourProject.Properties.Settings> из файла App.con-fig в файл User.config. Этот файл должен содержать только параметры, которые изменяются во время выполнения. Удалите директиву <?xml> и элемент <configuration> , если они имеются, как показано в примере:
    <YourProject.Properties.Settings>
      <setting name="SomeService_localhost_Service" serializeAs="String"> 
       <value>http://localhost/someservice/Service.asmx</value>
      </setting> 
    lt;/YourProject.Properties.Settings>
  4. В окне Solution Explorer щелкните правой кнопкой файл User.config, выберите команду Properties и присвойте свойству Copy to Output Directory значение Copy if newer.

Каждый разработчик задает в файле User.config ссылку на нужный ему URL веб-службы.

Создание в файле App.config ссылки на файл User.config при доступе к URL веб-службы

  1. В элемент <YourProject.Properties.Settings> главного файла конфигурации приложения добавьте атрибут configSource="user.config" . При достижении рабочим циклом информации, содержащейся в этом разделе, произойдет перенаправление рабочего цикла в заданный пользовательский файл конфигурации.
  2. Удалите содержимое элемента <YourProject.Properties.Settings> . Теперь файл App.config должен выглядеть примерно так:
    <?xml version="1.0" encoding="utf-8" ?> 
      <configuration> <configSections>
      <sectionGroup name="applicationSettings" type="System.
       Configuration.ApplicationSettingsGroup,   System,  Version=2.0.0.0, Culture=neutral,   
          PublicKeyToken=b77a5c561934e089" >
        <section name="SomeService.Properties.Settings" type="System. Configuration.ClientSettingsSection,   
        System,   Version=2.0.0.0, Culture=neutral,   PublicKeyToken=b77a5c561934e089"  
           requirePermission="fal se" />
       </sectionGroup> </configSections> 
      <applicationSettings>
         <YourProject.Properties.Settings configSource="user.config">  
         </YourProject.Properties.Settings> 
      </applicationSettings> 
    </configuration>

В предыдущем примере элемент YourProject представляет собой имя проекта, содержащего ссылку на веб-службу Убедитесь, что элемент <SomeService.Properties.Service> в файле App.config пуст.

Учитывайте следующие соображения:

  • Не добавляйте пользовательский файл конфигурации в систему управления исходным кодом. Для этого при первом возврате файла сбросьте флажок User.config. Затем щелкните файл в окне Solution Explorer правой кнопкой и выберите команду Under Pending Changes, чтобы не переносить файл в систему управления исходным кодом. Теперь каждый разработчик (и тестовая команда) сможет привязаться к конкретному URL с помощью собственного файла User.config.
  • Система управления исходным кодом может содержать файлы User. config, например, для тестирования или производства. Этими файлами должны распоряжаться пользователи, ответственные за управление соответствующими средами. Такие файлы User.config, используемые при испытаниях и в производстве, не должны храниться в составе проектов веб-служб - они должны находиться в других областях системы управления исходным кодом.
  • Глобальный файл User.config следует хранить в системе управления исходным кодом. В нем может содержаться либо только корневой элемент (не элемент <setting> ), либо указание на стандартное положение веб-службы. Файл User.config нужен для работы системы конфигурирования. Важно понимать, что при использовании этого механизма файл User.config обязательно должен быть в наличии. Кто-то из команды должен отвечать за правильную работу среды во время создания сборок для рабочих выпусков и для тестирования. При сборке соответствующий файл User.config должен быть извлечен из системы управления исходным кодом и скопирован в определенное расположение, чтобы система MSBuild могла его найти.

Дополнительные ресурсы

Как управлять зависимостями БД

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

Хранение строк подключения БД в пользовательском файле конфигурации

  1. В главном файле конфигурации приложения добавьте атрибут configSource="user.config" в элемент <connectionStrings>, как показанов примере:
    >
    <configuration>
      <connectionStrings configSource="user.config"/> 
    </configuration>
  2. Чтобы перекрыть главный файл конфигурации приложения, создайте файл User.config (расположенный в той же папке, что и главный файл онфигурации приложения) и добавьте в него такой же элемент <connectionStrings> . Обратите внимание, что приведенная ниже строка подключения ссылается на локальную базу данных.
    <configuration>
      <connectionStrings>
      <add name="DBConnStr" connectionString="server=localhost;
        Integrate d Security=SSPI;database=Accounts"/>
      </connectionStrings> 
      </configuration>
  3. В проекте для получения строки подключения из пользовательского айла конфигурации используйте код, в котором используется свойство onnectionStrings класса System.Configuration.ConfigurationManager. приложении Win Form вы должны явно добавить ссылку на System. Configuration.dll.
    using System.Configuration;
      private string GetDBaseConnectionString()
    {
       return ConfigurationManager.ConnectionStrings["DBConnStr"]. ConnectionString; 
    }
  4. Убедитесь, что файл User.config устанавливается вместе с кодом приложения. Для этого в окне Solution Explorer щелкните правой кнопкой мыши файл User.config, выберите команду Properties и присвойте свойству Copy to Output Directory значение Copy if newer.

Не добавляйте пользовательский файл конфигурации в систему управления исходным кодом. При этом каждый разработчик (и тестовая команда) сможет задавать строку подключения с помощью собственного файла User.config. Система управления исходным кодом может содержать файлы User.config, например, для тестирования или производства. Этими файлами должны распоряжаться пользователи, ответственные за управление соответствующими средами. Такие файлы User.config, используемые при испытаниях и в производстве, не должны храниться в составе проектов БД - они должны находиться в других областях системы управления исходным кодом. Файл User.config нужен для работы системы конфигурирования.

Совет По умолчанию во время добавления решения файл User.config автоматически добавляется в систему управления исходным кодом. Чтобы избежать этого, при первом возврате файлов после правки сбросьте флажок User.config. Чтобы гарантировать непопадание этого файла в систему управления исходным кодом, щелкните его правой кнопкой в окне Solution Explorer и выберите команду Under Pending Changes.

Важно понимать, что при использовании этого механизма файл User. config обязательно должен быть в наличии. Кто-то из команды должен отвечать за правильную работу среды во время создания сборок для рабочих выпусков и для тестирования. При сборке соответствующий файл User.config должен быть извлечен из системы управления исходным кодом и скопирован в определенное расположение, чтобы система MSBuild могла его найти.

Дополнительные ресурсы

Распределенная и удаленная разработка

  • Как получить доступ к TFS через Интернет.
  • Как повысить производительность TFS -прокси.

Как получить доступ к TFS через Интернет

Доступ к TFS через Интернет можно организовать одним из трех способов:

  • подключение по виртуальной частной сети ( VPN );
  • публикация TFS через обратный прокси, например, Microsoft Internet Security and Acceleration (ISA) ;
  • Расположение TFS в экстрасети.

Используйте первый способ, если вы и так обеспечиваете поддержку удаленных пользователей при помощи VPN. Он относительно прост в реализации, обладает понятной системой безопасности, обеспечивает удаленный доступ ко всем функциям TFS и позволяет использовать для повышения производительности TFS Proxy При таком способе доступа TFS находится во внутренней сети, а внешние пользователи получают к нему доступ по VPN. Внутренние пользователи обладают прямым доступом к TFS.

Если поддержка удаленных пользователей осуществляется без доступа к VPN или к домену, используйте сценарий с обратным прокси. Этот способ сложнее осуществить, однако он позволяет удаленным пользователям получать доступ к TFS, расположенному во внутренней сети, без использования VPN. В этой реализации TFS находится во внутренней сети, а один или несколько обратных прокси-серверов, например, ISA Server, доставляют на TFS запросы клиентов из Интернета.

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

Если у вас есть удаленный офис с несколькими клиентами, осуществляющими доступ к Team Foundation Server через Интернет, установите в удаленном офисе Team Foundation Server Proxy. Это увеличит производительность за счет кеширования файлов исходного кода на прокси-сервере. Если вы поддерживаете одного клиента, удаленно подключающегося к TFS, настройте его на подключение непосредственно к TFS.

Дополнительные ресурсы

  • Дополнительные сведения о сценариях удаленного доступа к TFS содержатся в лекции 17 этого курса.
  • Дополнительную информацию о Team Foundation Server Proxy вы найде е в статье "Team Foundation Server Proxy and Source Control" по адресу http://msdn2.microsoft.com/en-us/library/ms252490(VS.80).aspx.

Как повысить производительность TFS-прокси

Установите и настройте Team Foundation Server Proxy в удаленном офисе. Это позволит повысить производительность за счет кеширования файлов системы управления исходным кодом на прокси-сервере.

Чтобы настроить и оптимизировать производительность TFS -прокси, выполните следующие действия:

  1. Убедитесь, что функция кеширования включена, и проверьте счетчики производительности кеша. Чтобы иметь представление о производительности прокси, счетчики производительности (устанавливаемые по умолчанию) и журналы регистрации событий (ошибки и предупреждения) на рокси-сервере следует проверять периодически.

    Примечание Прокси TFS сохраняет статистику производительности кеша в XML -файле ProxyStatistics.xml. Вы можете изменить интервал, с которым происходит сохранение статистики. Файл ProxyStatistics.xml расположен в подпапке App_Data папки установки прокси.

  2. Периодически запускайте запланированное задание для извлечения последних версий файлов на прокси-сервер. Это обеспечит актуальность информации в кеше и увеличит количество попаданий в кеш.
  3. Если вы заранее знаете о готовящейся передаче больших файлов по медленной сети (< 3 Мбит/с), присвойте соответствующее значение параметру executionTimeout в файле Web.config. Значение по умолчанию равно одному часу - <httpRuntime executionTimeout="3600"/> .

Дополнительные ресурсы

Илья Макаренко
Илья Макаренко

Добрый день.

Вопрос №1

Какова стоимость получения диплома о мини-МБА по данному курсу? Или ориентироваться на указанную на сайте?

Вопрос №2

Возможно ли начать обучение без потери результатов, не отправив документы на зачисление, а отправку выполнить позже?

Александр Медов
Александр Медов

Здравствуйте, какова полная сумма предоставленной услуги с печатью документа и отправкой по почте?

Иван Циферблат
Иван Циферблат
Россия, Таганрог, 36, 2000