C#Web服务端点问题

时间:2010-12-06 00:45:33

标签: c# endpoint

我正在创建一个Web服务客户端。我有问题 - 在MainWindow.xaml中有一条消息:'找不到名为'LightsWSSoap'的端点元素,并在ServiceModel客户端配置部分中收缩'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>

有什么问题?有什么想法吗?

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:2)

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

答案 2 :(得分:0)

尝试this thread中的想法,尤其是命名空间。