Веб-служба WCF преобразует возвращаемое значение в выходные параметры - PullRequest
1 голос
/ 10 октября 2019

У меня есть метод в веб-службе WCF на C #, например:

[OperationContract]
bool GetEnvironment()

Однако, когда я добавляю его в качестве веб-ссылки, метод становится

void GetEnvironment(out bool GetEnvironmentResult, out bool GetEnvironmentResultSpecified);

I 'Мы пытались опубликовать и переиздать веб-сервис. Я удалил все другие методы из службы, кроме этого, а затем повторно опубликовал веб-службу, чтобы убедиться, что она не выходит из одного из других методов. Обычно я использую DTO, но я действительно не могу поверить, что WCF не поддерживает логическое значение в качестве возвращаемого типа.

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

1 Ответ

1 голос
/ 11 октября 2019

Сначала вы можете вернуть boolean тип из WCF. Однако согласно using-message-контрактам , если вы используете параметр MessageContract, вы не можете вернуть логическое значение.

По поводу дополнительных параметров, которые вы видите в клиенте, wcf-will-not-return-an-int вы можете найти ответ. В нем говорится:

Вы должны импортировать его как ссылку на службу (с пространством имен MData) вместо веб-ссылки.

...