Можно ли установить имя контракта на обслуживание WCF пустым? - PullRequest
0 голосов
/ 16 января 2012

У меня есть старый мыльный клиент, и мне нужно создать сервис мыла. Есть два SOAPActions, которые клиент ожидает / подключить и / отключить. У меня есть интерфейс под названием IProto, который имеет две функции подключения и отключения. Проблема заключается в том, что WCF добавляет в SOAPAction имя контракта на обслуживание (IProto), и клиент не может найти ожидающие действия. Например, сервис SOAPAction IProto / connect и IProto / disconnect, а клиент ожидает / connect и / disconnect. Есть ли способ установить имя контракта на обслуживание пустым?

PS. Устаревший исходный код клиента не может быть изменен.

Ответы [ 4 ]

3 голосов
/ 16 января 2012

Таким образом, вы не хотите устанавливать пустым имя ServiceContract, вы хотите изменить SOAPAction.Правильный вопрос приводит вас на полпути к решению.

Посмотрите на Action член атрибута OperationContract .

[OperationContract(Action="/connect")]
2 голосов
/ 16 января 2012

Похоже, атрибут ServiceContract имеет свойства, которые можно установить для достижения этого.

[ServiceContract(Name = "***", Namespace = "***")]
0 голосов
/ 16 января 2012

Заменить реализацию по умолчанию IDispatchOperationSelector ?

0 голосов
/ 16 января 2012

Попробуйте

[ServiceContract(Namespace = "")]
public interface IMyServiceContract
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...