Использование Webservice работает только при отладке под VS IDE
Мое приложение WinForms VB.NET использует веб-сервис для выполнения некоторых запросов. При работе в режиме отладки в Visual Studio IDE он работает без сбоев, но после развертывания на клиентских рабочих станциях (или даже на моей собственной рабочей станции) он выдает следующее сообщение:
System.InvalidOperationException: Не удалось найти элемент конечной точки по умолчанию, который ссылается на контракт "MyServiceReference.IMyService" в разделе конфигурации клиента ServiceModel. Это может быть связано с тем, что для вашего приложения не найден файл конфигурации или из-за того, что в клиентском элементе не найден элемент конечной точки, соответствующий этому контракту.
Я думаю, что-то, что присутствует, когда отладка отсутствует в развертывании, но я не могу понять, что. Любая помощь будет приветствоваться.
1 ответ
Хороший парень S.Dav прокомментировал выше, чтобы предупредить, что я должен развернуть app.config вместе с моим.exe файлом, чтобы решить эту проблему. Он прав, и если бы это был ответ, я бы принял это.
Кроме того, я обнаружил, что могу жестко закодировать данные конфигурации службы, и это будет работать.
Поэтому я заменил:
Dim myclient as New MyServiceReference.MyServiceClient
от
Dim myclient as New MyServiceReference.MyServiceClient(
New BasicHttpBinding(BasicHttpSecurityMode.None),
New EndpointAddress("http://myservice.mysite.com/services/MyService.svc?wsdl"))
И вуаля, это сработало.
Большое спасибо всем, кто пытался и помогал с этим.