WCF Service Reference генерирует свой собственный интерфейс контракта, не будет повторно использовать мой

Эта проблема возникает, если диск диска C заканчивается из пространства. Лучшее решение для очистки временных файлов. Это решение сработало для меня.

Команда Open Run

2.Type% tmp%

3.Нажмите OK

4.Выберите все файлы. Удалите все файлы навсегда.

38
задан marc_s 28 August 2013 в 14:48
поделиться

2 ответа

«Повторное использование типов в ссылочных сборках» позволяет повторно использовать только контракты данных, но не контракты на обслуживание. Если вы хотите поделиться контрактами на обслуживание, вам вообще не нужно использовать «Добавить ссылку на услугу». Вы можете просто использовать ChannelFactory напрямую.

// Supply the binding and address in code
Binding binding = new BasicHttpBinding();
EndpointAddress address = new EndpointAddress("http://tempuri.org/address");
IServiceContract channel = ChannelFactory<IServiceContract>.CreateChannel(binding, address);

// Or read them from the config file
ChannelFactory<IServiceContract> channelFactory = new ChannelFactory<IServiceContract>();
IServiceContract channel = channelFactory.CreateChannel();

Объект канала также будет реализовывать ICommunicationObject , поэтому вы можете преобразовать его, если вам нужно вызвать такие методы, как Open () или Close ().

46
ответ дан 27 November 2019 в 02:45
поделиться

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

Если это все еще не работает, проверьте используемую привязку. Я смутно припоминаю, что базовое связывание HTTP не поддерживает повторное использование типов?

.
4
ответ дан 27 November 2019 в 02:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: