11

私が取り組んでいる状況は最適ではないので、ご容赦ください..

外部(非 .NET) SOAP-webservices を使用します。
何らかの理由で、各メソッドは独自の WSDLを持つ個別の Web サービスに実装されています。Web サービスによって返されるオブジェクト の多くは、まったく同じデザイン、名前、および xml 名前空間を持っています。

サービス参照の追加」が使用される理由:
- 内部開発チームはそれに慣れている
- 自動の「サービス参照の更新」を維持したい

2 番目の参照は、[すべての参照アセンブリで型を再利用する] オプションをオンにして追加されます。ただし
、すべてのクラスは新しい参照の下で再度生成されます。

最初の参照からクラスを再利用する方法はどこにありますか?

4

1 に答える 1

21

GUI を使用して WSDL URI を設定するのではなく、サービス参照の Reference.svcmap を開いて (これを見つけるには、[すべてのファイルを表示] をオンにしてサービス参照を展開します)、手動で編集すると、複数の WSDL を追加できます。例えば

  <MetadataSources>
    <MetadataSource Address="http://localhost/example1.wsdl" Protocol="http" SourceId="1" />
    <MetadataSource Address="http://localhost/example2.wsdl" Protocol="http" SourceId="2" />
  </MetadataSources>

1 つの Service Reference に複数の WSDL がある場合、異なる WSDL で同一である限り、クラスは説明どおりに再利用されます。同じ名前で定義が異なるクラスが存在する場合、そのうちの 1 つに接尾辞「1」が追加されます。

于 2013-02-19T14:20:11.243 に答える