Отладчик VS 2008: Как он решает, на каком порту Cassini запустить веб-сервис? - PullRequest
1 голос
/ 24 августа 2009

У меня есть решение VS 2008, которое включает в себя веб-сайт и веб-сервис. Я разрабатываю оба сразу, и полезно иметь возможность отлаживать одно в другое.

Иногда не удается найти веб-сервис. Если я посмотрю в файле web.config, то обнаружу, что номер порта, на который он смотрит, не является номером порта, в котором он автоматически запускает службу при использовании отладчика. Например, ссылка на web.config говорит что-то вроде:

add key = "mynamespace.mywebservice" value = "http://localhost:55765/mywebservice.asmx"

При наведении указателя мыши на значок порта Cassini обнаруживается, что веб-служба работает в порту 55382 (или в другом порту, отличном от 55765). Неудивительно, что он не может его найти.

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

Это действительно вызовет проблемы, так как все больше разработчиков приходят к этому проекту - как я могу это исправить? Удаление и повторное добавление веб-сервисов в проект исправляет это, но мне буквально придется делать это пару раз в день, а это не идеальное решение.

Ответы [ 3 ]

3 голосов
/ 24 августа 2009

от здесь

По умолчанию Кассини назначает случайный номер порта для каждого веб-сайта. Этот номер порта получает при первом запуске сайта отладчик Visual Studio, а затем сохраняется для жизни решение.

Вы можете отключить это поведение, выбрать узел проекта для вашего Веб-проект в обозревателе решений и выбрав Вид-> Окно Свойства (Ctrl-W, P). Изменить «Использовать динамический Порты »в False и затем укажите TCP порт по вашему вкусу (лучше сохранить между 1000–5000, но это может технически любой неиспользуемый порт TCP).

Это даст вашему Cassini-хосту сайт детерминированный номер порта, и облегчить написание клиентов Indigo которые пользуются услугами, размещенными на этом сайте.

1 голос
/ 30 августа 2010

Я наткнулся на это сегодня, когда искал решение ... Как было сказано выше, вы можете открыть решение с помощью блокнота. Ищите строку:

VWDPort = "55071"

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

0 голосов
/ 24 августа 2009

В VS2008 Solution Explorer: щелкните правой кнопкой мыши свой веб-проект и выберите «Свойства». С левой стороны нажмите «Web», и вы увидите параметры порта в разделе «Серверы».

...