我正在创建一个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>
有什么问题?有什么想法吗?
答案 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中的想法,尤其是命名空间。