Не удалось найти элемент конечной точки с именем "и контрактом" I "в разделе конфигурации клиента ServiceModel. - PullRequest
1 голос
/ 21 февраля 2012

Я работаю над базовой службой WCF - клиентской службой WCF - Consumer Base Wcf servcie model следующим образом:

enter image description here

В этой модели я создал базовую службу WCF и создал 1 службу WCF, т.е. ClientWCFService и 1 ASMX service, т.е. ClientASMXservice с использованием BaseWCFServiceProxy.cs прокси-класса базовой службы WCF с использованием SVCUtil.exe.

ClientWCFService и ClientASMXservice нормально работают в автономной среде. Теперь я создал Consumer Console Application, используя один и тот же прокси-класс BaseWCFServiceProxy.cs для доступа как к ClientWCFService, так и к ClientASMXservice с использованием класса BaseWcfService.

Согласно правилам ООП , класс BaseWcfService является базовым классом для ClientWCFService и ClientASMXservice, и я могу получить доступ к этим службам с помощью конструктора базового класса обслуживания.

Сервисные звонки следующие: для ClientWCFService

 ModelWcfServiceContractClient _client = new ModelWcfServiceContractClient("IModelWcfServiceContract","http://localhost:64242/ClientWCFServiceWcfUsingSVCProxy.svc");

для клиентаASMXservice

ModelWcfServiceContractClient _client = new ModelWcfServiceContractClient("IModelWcfServiceContract","http://localhost:64396/ClientASMXServiceWcfUsingSVCProxy.asmx");

Приложение Consumer Console работает нормально, но во время выполнения при инициализации объекта ModelWCFServiceContractClient, выдает исключение InvalidOperation как:

Не удалось найти элемент конечной точки с именем 'IModelWcfServiceContract' и заключите контракт 'IModelWcfServiceContract' в клиенте ServiceModel раздел конфигурации. Это может быть потому, что файл конфигурации не был найден для вашего приложения, или потому что не соответствует элемент конечной точки это имя может быть найдено в элементе client.

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

Был бы оценен более быстрый ответ. Также, пожалуйста, не помогите мне, просто очистив орфографические ошибки, потому что это потратит мое время на чтение Предупреждения, которое будет сгенерировано из-за очищающих ошибок заклинаний. Время критично для меня ..

Спасибо

1 Ответ

2 голосов
/ 21 февраля 2012

Попробуйте это (надеюсь, что вы можете следовать):

В Visual Studio выберите проект, который содержит ServiceReference для ModelWcfProxy (тот, который сгенерировал прокси-класс ModelWcfServiceContractClient).

Выберите «Показать все файлы» в строке меню Solution Explorer.

Разверните папку Service References и сгенерированную Service Reference.Найдите файл .svcmap, посмотрите внизу, чтобы найти файл Reference.cs.

В верхней части вашего сгенерированного интерфейса должен быть определен System.ServiceModel.ServiceContractAttribute.В конструкторе атрибутов вы должны увидеть, как устанавливается свойство ConfigurationName.Это имя конфигурации контракта должно совпадать с именем, определенным в конфигурации или которое вы отправляете в свой метод:

ModelWcfServiceContractClient _client = new ModelWcfServiceContractClient("IModelWcfServiceContract","http://localhost:64242/ClientWCFServiceWcfUsingSVCProxy.svc");

Надеюсь, это поможет.

...