WCF не может найти конечную точку по умолчанию - PullRequest
1 голос
/ 10 сентября 2010

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

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

Теперь я развертываю это приложение на sharepoint, поэтому я простоесть файл DLL.Есть ли способ, которым я могу вручную установить свойства из файла конфигурации в коде?

receivePortService.TwoWayAsyncVoidClient client = new TaskCompletedHandler.receivePortService.TwoWayAsyncVoidClient();
Message msg = Message.CreateMessage(MessageVersion.Default,"*",XmlTextReader.Create(xmlMessage));
client.BizTalkSubmit(msg);

Как установить адрес конечной точки и другие вещи без app.config?

1 Ответ

0 голосов
/ 11 сентября 2010

Как правило, ваш класс TwoWayAsyncVoidClient должен иметь несколько перегруженных конструкторов - в частности, один из них должен принимать Binding и EndpointAddress в качестве параметров.

Таким образом, в коде вы можете создать, например,

WSDualHttpBinding myBinding = new WSDualHttpBinding();
EndpointAddress epa = new EndpointAddress(new Uri("http://yourserver:7777/YourService/TheService.svc"));

receivePortService.TwoWayAsyncVoidClient client = new TaskCompletedHandler.receivePortService.TwoWayAsyncVoidClient(myBinding, epa);

Поскольку WSDualHttpBinding является двойной / двусторонней привязкой (которую я предполагаю, что вы хотите использовать, основываясь на имени вашего клиентского класса), вам также может понадобиться установить дополнительные вещи, такие какинтерфейс контракта обратного вызова и адрес обратного вызова - но этот код, по крайней мере, должен помочь вам начать работу, я надеюсь!

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