Ссылки на веб-службы и значения по умолчанию для C # 4.0 - PullRequest
0 голосов
/ 28 июля 2010

Я только начал использовать VS2010, и с ним приходит c # 4.0.

С тех пор я использую значения по умолчанию для некоторых из моих методов, что позволило мне удалить некоторые перегрузки, которые выполняли эту операцию.

Моя проблема заключается в следующем:

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

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

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

Я повторно развернул службу и обновил ссылку на службу, но она все та же.Я также только что заметил, что ранее работающий метод, который использует аргумент 'out' (т.е. MyMethod (out String arg1, String arg2)), похоже, не работает сейчас.

Есть предложения?Я не знаю, что я изменил какие-либо настройки конфигурации, которые будут делать это, поэтому я предполагаю, что это должен быть C # 4.0.Сказав это, аргумент out работал с 4.0 на прошлой неделе: S

Спасибо за любую предложенную помощь ...

Приветствия, Нил

1 Ответ

1 голос
/ 28 июля 2010

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

Если вы посмотрите на WSDL для вашей службы, означает ли это значения по умолчанию? Возможно также, что где-то в генераторе есть переключатель для генерации необязательных параметров или нет (для совместимости с C # 3).

Параметр out - это, возможно, совсем другое дело - какую ошибку вы получаете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...