Использование службы WCF в веб-части Sharepoint - PullRequest
0 голосов
/ 23 февраля 2011

Я создал службу WCF и пытаюсь использовать ее в веб-части Sharepoint. При развертывании веб-части выдается следующая ошибка:

"не удалось найти элемент конечной точки по умолчанию, который ссылается на контракт 'ServiceReference1.IService1' в разделе конфигурации клиента ServiceModel"

Любая помощь будет оценена

Ответы [ 2 ]

3 голосов
/ 23 февраля 2011

Как вы его потребляете?В случае, если вы создали app.config для своей веб-части, она не будет работать, поскольку веб-части выполняются в контексте процесса w3wp.exe.

Необходимо вручную настроить конечные точки в вашем Service Clientили поместите его в файл web.config виртуального каталога Sharepoint (я думаю, c: \ inetpub \ wwwroot \ wss \ 80).Если у вас несколько серверов, добавьте их ко всем.(Я бы порекомендовал создать приемник функций, который изменяет web.config, но я понял, каким сложным образом никогда не следует использовать SPWebConfigModification )

Программная настройка клиента:

var endpoint = new EndpointAddress(new Uri("http://your/wcf/endpoint"));
var binding = new WSHttpBinding();
var client = new YourWCFClient(binding, endpoint);

Точная привязка, конечно, зависит от вашей конфигурации - WCF здесь немного сложнее, но если у вас уже есть работающий клиент, проверьте его app.config для информации о привязке и MSDN для классов, которые происходят от System.ServiceModel.Channels.Binding , чтобы найти правильный.

0 голосов
/ 19 июля 2013

Micheal Stu8om правильный. Вам необходимо скопировать и вставить содержимое системы. тег serviceModel из файла конфигурации вашей веб-части в файл web.confi SharePoint, расположенный в корне развертывания SharePoint (последний бит пути в сообщении Майкла не всегда равен 80. Это может быть 443 или что-то еще, в зависимости от порта развертывания SharePoint).

Я хотел бы рекомендовать прочитать главу 5 книги Сахила Малика "Построение решений для SharePoint 2010". Надеюсь, это поможет

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