Как зайти в Даркнет?!
25th January, 01:11
6
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
894
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
914
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4350
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4396
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Исключение InvalidOperationException при создании экземпляра веб-службы wcf
У меня есть веб-служба WCF, на которую ссылаются из библиотеки классов. После запуска проекта при создании объекта клиента службы из библиотеки классов я получаю сообщение InvalidOperationException with:
Не удалось найти элемент конечной точки по умолчанию, который ссылается на контракт 'MyServiceReference.IMyService' в клиенте ServiceModel раздел конфигурации. Это может быть связано с тем, что файл конфигурации не был найдено для вашего приложения, или потому что нет соответствия элементов конечной точки этот контракт можно найти в элементе клиент.
Код, который я использую для создания экземпляра::
myServiceClient = new MyServiceClient();
где MyServiceClient наследуется от
System.ServiceModel.ClientBase
Как мне решить эту проблему?
Примечание: у меня есть отдельное консольное приложение, которое просто создает один и тот же объект службы и вызывает его, и оно работает без каких-либо проблем.
Или вы можете установить конечную точку в своем коде:
http://msdn.microsoft.com/en-us/library/ms731862.aspx
BasicHttpBinding binding = new BasicHttpBinding();
EndpointAddress address = new EndpointAddress("http://url-to-service/");
// Create a client that is configured with this address and binding.
MyServiceClient client = new MyServiceClient(binding, address);
Вот мой app.config файл библиотеки классов:
Вот мой app.config файл библиотеки классов:
Вы должны поместить эти параметры конфигурации в конфигурационный файл главного приложения. .NET приложение (которое вызывает вашу библиотеку классов) использует данные из своего собственного файла конфигурации, а не из вашего файла конфигурации библиотеки.
У меня был похожий случай. У меня была библиотека классов, которая вызывала веб-сервис, а затем у меня был .EXE, который назывался class-lib .DLL. Я думаю, что используется именно конфигурационный файл .EXE, а не конфигурационный файл .DLL.
Но, как сказал Ричард выше, я должен был полностью квалифицировать пространство имен. Это немного больно. Ниже приводится именно то, что я изменил. Боль в том, что мне пришлось менять его в двух местах, один из них находится в файле reference.cs, который создается при создании ссылки на службу,а другой - в файле конфигурации. Таким образом, каждый раз, когда я изменяю веб-сервис и делаю "Update Reference", мне приходится снова вносить изменения в код C#.
1) Вы должны фактически изменить ConfigurationName в reference.cs следующим образом:
От: [System.ServiceModel.ServiceContractAttribute(Namespace = "http://TFBIC.RCT.BizTalk.Orchestrations", ConfigurationName = " RCTWebService.WcfService_TFBIC_RCT_BizTalk_Orchestrations")]
Кому: [System.ServiceModel.ServiceContractAttribute(Namespace = "http://TFBIC.RCT.BizTalk.Orchestrations", ConfigurationName = "TFBIC.RCT.HIP.Components.RCTWebService.WcfService_TFBIC_RCT_BizTalk_Orchestrations")]
2) и затем также измените значение “contract” во всех связанных app.config (for .dll - е и .exe's) следующим образом:
От:
<endpoint адрес= http://nxwtest08bt1.dev.txfb-ins.com/TFBIC.RCT.BizTalk.Orchestrations/WcfService_TFBIC_RCT_BizTalk_Orchestrations.svc привязка="wsHttpBinding" bindingConfiguration="WSHttpBinding_ITwoWayAsync" контракт= " RCTWebService.WcfService_TFBIC_RCT_BizTalk_Orchestrations" имя="WSHttpBinding_ITwoWayAsync">
К:
<endpoint адрес= http://nxwtest08bt1.dev.txfb-ins.com/TFBIC.RCT.BizTalk.Orchestrations/WcfService_TFBIC_RCT_BizTalk_Orchestrations.svc привязка="wsHttpBinding" bindingConfiguration="WSHttpBinding_ITwoWayAsync" контракт= " TFBIC.RCT.HIP.Components.RCTWebService.WcfService_TFBIC_RCT_BizTalk_Orchestrations" имя="WSHttpBinding_ITwoWayAsync">
Просто для ясности - как я узнал, что такое полное пространство имен? Пространство имен программы было TFBIC.RCT.HIP. Внутри этого кода C# есть еще один дополнительный оператор пространства имен:
namespace RCTHipComponents
Вероятно, это поможет, если вы опубликуете свой файл app.config, так как такого рода ошибка обычно указывает на проблему в блоке <endpoint> . Убедитесь, что атрибут контракта кажется вам правильным.
Изменить: попробуйте полностью определить значение контракта; используйте полное пространство имен. Я думаю, что это необходимо.