C# 只有在VS IDE下进行调试时,Web服务才能使用
我的WinForms VB.NET应用程序使用Web服务执行一些查询。在Visual Studio IDE下以调试模式运行时,它工作正常,但一旦部署到客户端工作站(甚至我自己的工作站),它就会崩溃,并显示以下消息: System.InvalidOperationException:在ServiceModel客户端配置部分中找不到引用约定“MyServiceReference.IMyService”的默认端点元素。这可能是因为找不到应用程序的配置文件,或者在客户端元素中找不到与此约定匹配的端点元素 我猜在部署中缺少调试时会出现一些问题,但我不知道是什么 Good fellow在上面发表了评论,提醒我应该部署app.config和我的.exe文件来解决这个问题。他是对的,如果这是一个答案,我会接受的 此外,我发现我可以硬编码服务配置数据,它也可以工作 所以我替换了:C# 只有在VS IDE下进行调试时,Web服务才能使用,c#,vb.net,winforms,webservice-client,service-reference,C#,Vb.net,Winforms,Webservice Client,Service Reference,我的WinForms VB.NET应用程序使用Web服务执行一些查询。在Visual Studio IDE下以调试模式运行时,它工作正常,但一旦部署到客户端工作站(甚至我自己的工作站),它就会崩溃,并显示以下消息: System.InvalidOperationException:在ServiceModel客户端配置部分中找不到引用约定“MyServiceReference.IMyService”的默认端点元素。这可能是因为找不到应用程序的配置文件,或者在客户端元素中找不到与此约定匹配的端点元素
Dim myclient as New MyServiceReference.MyServiceClient
借
瞧,成功了
非常感谢所有在这方面尝试和帮助过的人。它在本地的发布模式下工作吗?从VS IDE运行时是的(附带了调试器)。在同一台计算机上从独立的.exe文件运行时不会。能否显示app.config文件中的代码?请尝试删除终结点并添加
compilation debug=true
它可能是防火墙或其他IP过滤机制,阻止公司网络外的计算机访问Web服务
Dim myclient as New MyServiceReference.MyServiceClient(
New BasicHttpBinding(BasicHttpSecurityMode.None),
New EndpointAddress("http://myservice.mysite.com/services/MyService.svc?wsdl"))