0

是的,我知道这个问题可能是重复的,但请耐心等待。我已经尝试了我在所有其他相同类型的问题中看到的内容,但仍然没有设法让它发挥作用。

我在 VS2012 Ultimate 中使用 .Net 4.0。我有一个应该引用 Web 服务的类库。通过通常的步骤(添加服务引用 > 输入服务 URI > 去 > 找到可用的服务 > 给它一个名称 > 确定)创建服务引用并在我的类库system.serviceModel的文件中添加一个标签。app.config

这个类库当前被一个正在向它传递数据的 WinForms 应用程序引用,以使用从 Web 服务返回的数据进行验证。但是,在创建服务客户端对象时...

SHWS.StaticXMLAPISoapClient wsc =
    new SHWS.StaticXMLAPISoapClient();

...代码因问题标题中指出的错误而崩溃,“在 ServiceModel 客户端配置部分中找不到引用合约‘SHWS.StaticXMLAPISoap’的默认端点元素。这可能是因为找不到您的应用程序的配置文件,或者因为在客户端元素中找不到与此合同匹配的端点元素。”

我已经尝试了我在网上找到的一切,从将[class library name].dll.config文件复制到 WinForms 应用程序的输出文件夹,到将system.serviceModel标签从一个配置文件复制到另一个,但仍然没有运气。

我真的是无计可施。任何帮助将不胜感激,因为这是我目前正在开发的应用程序的关键点之一。为我荒谬的要求道歉,并提前感谢您的时间。

4

2 回答 2

7

您是否尝试相同的system.serviceModel部分/设置添加到您的WinForms app.config文件?

于 2013-08-12T21:47:25.600 回答
0

...你知道,这就是为什么我有时讨厌这个软件开发世界。我删除了类库配置文件,将serviceModel设置移动到 WinForms 应用程序,并指定了我想要的端点绑定的名称,并且由于一些愚蠢的奇迹,它决定现在开始工作。

SHWS.StaticXMLAPISoapClient wsc =
    new SHWS.StaticXMLAPISoapClient("StaticXMLAPISoap");

使用该实例化调用而不是问题中发布的调用,除了将system.serviceModel设置添加到 WinFormsapp.config文件似乎已经解决了问题,现在我可以与 web 服务进行良好的通信。

那好吧。这就是编程的神奇世界。

我仍然不知道为什么它会这样工作,所以如果有人想启发我,我会非常感激。

于 2013-08-12T22:03:15.530 回答