【问题标题】:Webservice consuming works only when debugging under VS IDEWebservice 消费仅在 VS IDE 下调试时有效
【发布时间】:2017-07-12 14:08:19
【问题描述】:

我的 WinForms VB.NET 应用程序使用 Web 服务来执行一些查询。在 Visual Studio IDE 下以调试模式运行时,它运行顺畅,但一旦部署到客户端工作站(甚至我自己的工作站),它就会崩溃并显示以下消息:

System.InvalidOperationException: 在 ServiceModel 客户端配置部分中找不到引用合同“MyServiceReference.IMyService”的默认端点元素。这可能是因为找不到您的应用程序的配置文件,或者因为在客户端元素中找不到与此协定匹配的端点元素。

我猜想在部署中缺少调试时会出现一些东西,但我不知道是什么。

【问题讨论】:

  • 本地是否在发布模式下工作?
  • 是,当从 VS IDE 运行时(附加调试器)。从同一台计算机上的独立 .exe 文件运行时不会。
  • 您能给我们看看您的 app.config 文件中的代码吗?
  • 尝试删除端点并添加compilation debug=true
  • 可能是防火墙或其他 IP 过滤机制,阻止公司网络之外的计算机访问 Web 服务

标签: c# vb.net winforms webservice-client service-reference


【解决方案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"))

而且,它奏效了。

非常感谢所有尝试并提供帮助的人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-20
    • 2018-11-10
    • 2017-01-30
    • 2019-08-22
    • 2015-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多