Использование 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"))

И вуаля, это сработало.

Большое спасибо всем, кто пытался и помогал с этим.

Другие вопросы по тегам