WCF является односторонним атрибутом - PullRequest
0 голосов
/ 01 июля 2010

У меня есть метод wcf, у которого атрибут isoneway имеет значение true. Теперь, когда я вызываю эту службу из клиента, служба выдает недопустимое исключение операции обратно в клиентскую базу данных некоторого бизнес-сценария, который идет не так. Я понимаю, чтоон выдаст только конечную точку, а не найденное исключение и время вашего исключения. Может кто-нибудь объяснить, почему это происходит?

Ответы [ 2 ]

2 голосов
/ 01 июля 2010

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

Если вы этого хотите, то, возможно, односторонняя услуга не для вас, и вам действительно нужна двусторонняя служба с пустым ответом (т. Е. Недействительным)

1 голос
/ 13 декабря 2013

Метод OneWay возвращает значение или имеет параметр ref / out?Если да, то по этой причине вы получаете InvalidOperationException.Это ожидаемое поведение в соответствии с справкой MSDN для свойства OperationContractAttribute.IsOneWay (http://msdn.microsoft.com/en-us/library/system.servicemodel.operationcontractattribute.isoneway(v=vs.110).aspx).

Поиск в разделе примечаний, имеет следующий текст:

Односторонние методы не должны возвращать значение или иметьпараметры ref или out, в противном случае выдается исключение System.InvalidOperationException.

PS: я знаю, что уже слишком поздно отвечать в теме, но для кого-то вроде меня, который наткнулся на сообщение через 3 года или около того, ономожет быть полезным.

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