2

我正在创建一个网络服务客户端。我遇到了问题 - 在 MainWindow.xaml 中有一条消息:在 ServiceModel 客户端配置部分中找不到名称为“LightsWSSoap”和合同“LightsWS.LightsWSSoap”的端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此名称匹配的端点元素。在这个文件中,我有类似的东西:

xmlns:vm="clr-namespace:LightsClient2.ViewModels"
<Window.DataContext>
    <vm:MainWindowViewModel />
</Window.DataContext>

在 MainWindowViewModel 中使用了 webservice 的构造函数:

LightsWSSoap lService = new LightsWSSoapClient("LightsWSSoap");

其中“LightsWS”是服务的名称。

有一个 app.config 文件,其中有 enpoints 定义:

    <client>
        <endpoint address="http://xxx/Lights/LightsWS.asmx"
            binding="basicHttpBinding" bindingConfiguration="LightsWSSoap"
            contract="LightsWS.LightsWSSoap" name="LightsWSSoap" />
        <endpoint address="http://xxx/Lights/LightsWS.asmx"
            binding="customBinding" bindingConfiguration="LightsWSSoap12"
            contract="LightsWS.LightsWSSoap" name="LightsWSSoap12" />
    </client>

怎么了?有任何想法吗?

4

3 回答 3

4

您需要在 WPF 应用程序的 App.Config 文件中配置客户端端点。

如果还没有 App.Config 文件,您可以通过向项目添加新项目并选择“应用程序配置文件”来创建一个。

App.Config 的内容应如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <client>
      <endpoint binding="wsHttpBinding" contract="LightsWS.LightsWSSoap" name="LightsWSSoap"  />
    </client>
  </system.serviceModel>
</configuration>

MSDN 上有更多详细信息 - http://msdn.microsoft.com/en-us/library/ms731745%28VS.90%29.aspx

于 2010-12-06T00:48:20.630 回答
2

您应该添加带有端点定义的 app.config 文件。通常它是由 Visual Studio 创建的。但是,如果您在另一个程序集中创建了 ServiceReference(例如,是单独的 dll),则只需将 app.config 从该程序集复制到您的 WpfApplication。

于 2010-12-06T00:50:12.843 回答
0

试试这个线程中的想法,尤其是命名空间。

于 2010-12-06T00:57:50.917 回答