2

Webサービスクライアントを作成しています。そして、問題があります-MainWindow.xamlに次のメッセージがあります:'ServiceModelクライアント構成セクションで'LightsWSSoap'という名前のエンドポイント要素とコントラクト'LightsWS.LightsWSSoap'が見つかりませんでした。これは、アプリケーションの構成ファイルが見つからなかったか、この名前に一致するエンドポイント要素がクライアント要素に見つからなかったことが原因である可能性があります。このファイルには次のようなものがあります。

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

また、MainWindowViewModelでは、Webサービスのコンストラクターが使用されます。

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ファイルを追加する必要があります。通常、これはVisualStudioによって作成されます。ただし、ServiceReferenceを別のアセンブリ(たとえば、別のdll)で作成した場合は、app.configをそのアセンブリからWpfApplicationにコピーするだけです。

于 2010-12-06T00:50:12.843 に答える
0

このスレッドのアイデア、特に名前空間を試してください。

于 2010-12-06T00:57:50.917 に答える