Веб-ссылка ASMX не обновляется после обновления типа возврата службы - PullRequest
3 голосов
/ 21 февраля 2010

У меня есть веб-сервис - MyCompany.WebService1

.

Я ссылаюсь на это с помощью веб-ссылки в моем веб-приложении ASP.net.

В этом веб-сервисе есть метод «GetDeal», который возвращает объект «Сделка». Объект сделки в настоящее время выглядит (например) следующим образом:

public class Deal
{
    Public string Name {get;set;}
    Public string Description {get;set;}
}

Этот класс находится в другой сборке: MyCompany.Model

Веб-сервис ссылается на эту сборку.

В моем веб-приложении я могу вызвать метод GetDeal. Это возвращает Service1.Deal (service1 это просто имя веб-ссылки)

Я могу получить доступ к обоим свойствам выше.

Я изменил класс сделки и добавил еще пару свойств. Однако я не вижу этих новых свойств в своем веб-приложении.

Я обновил веб-сервис в веб-приложении. Я перестраивал веб-сервис несколько раз, пытался удалить ссылку MyCompany.Model и заново добавить ее и т. Д. *

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

Что-нибудь, что я пропустил?

Ответы [ 2 ]

5 голосов
/ 21 февраля 2010

Пока выполняются следующие пункты, это должно работать:

  • новое свойство помечено как Public и должно быть доступно для чтения / записи (должно иметь геттер и сеттер)
  • вы скомпилировали хост-веб-приложение (веб-приложение, предоставляющее веб-сервис).
  • (Вы можете попробовать вызвать веб-службу в веб-браузере, чтобы проверить, отображается ли новое свойство).
  • Вы обновили веб-ссылку на клиентское приложение (и перестроили приложение)
2 голосов
/ 21 февраля 2010

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

Я рекомендую вам взглянуть на WSDL, чтобы увидеть, вступили ли изменения в силу. Добавьте «? Wsdl» к URL-адресу веб-службы в браузере и посмотрите, отображаются ли ваши новые свойства в схеме XML вверху.

...