Могу ли я контролировать количество портов веб-проектов на сервере сборки TFS? - PullRequest
0 голосов
/ 21 марта 2011

У меня есть проект модульного тестирования и несколько веб-сайтов, настроенных в моем решении VS2010. Веб-сайты используются для размещения служб WCF и настроены в решении на использование статических номеров портов, так что мой тестовый проект будет знать адрес, по которому их можно найти. Веб-сайты работают под сервером разработки VS, в отличие от IIS. Это прекрасно работает на моей машине, как и любой другой разработчик, который запускает тестовый проект через VS. Однако когда сервер сборки TFS пытается запустить проекты, создается впечатление, что он игнорирует мои статические номера портов для веб-сайтов.

Я вижу ошибки в журнале событий, указывающие на то, что сервер сборки пытается запустить мои веб-сайты с номерами портов, которые я не указал. Я проверил каталог сборки и нашел файлы для веб-сайтов в каталогах со сборками тестового проекта, но нет никаких указаний на то, что на файл решения ссылаются где-либо, это механизм, который VS использует для хранения статических номеров портов. Есть ли способ указать мне, какие порты будет использовать сервер сборки TFS для размещения моих веб-сайтов изнутри веб-сервера разработки при выполнении набора модульных тестов?

Также, если мне кажется, что я пытаюсь атаковать эту проблему неправильно, пожалуйста, дайте мне знать. Это мой первый опыт работы с сервером сборки TFS, и я действительно надеялся, что мои автоматические модульные тесты смогут каким-то образом вызывать мои службы WCF.

1 Ответ

0 голосов
/ 24 марта 2011

Итак, я решил эту проблему, вызвав WebDev.WebServer40.exe как процесс в моем тестовом коде, чтобы запустить мои веб-сайты с помощью сервера разработки ASP.Net.Это было очень сложно, так как мне приходилось динамически определять местоположение файлов веб-сайта во время выполнения, используя ряд подсказок, так как это отличается между моей локальной средой разработки и сервером сборки.Мне бы очень хотелось, чтобы был способ использовать AspNetDevelopmentServerAttribute для указания известного номера порта.

...