質問

サードパーティの製品に多くのWeb参照があるC#プロジェクトがあります。これらのWebサービス呼び出しはすべて、「ユーザーコンテキスト」クラスを使用します。そのため、各Webサービスはまったく同じXMLスニペットを受け入れます。

現在、これらの「ユーザーコンテキスト」オブジェクトの多くを、さまざまなWebサービスコールをすべてヒットしたときに、周りに多くのオブジェクトを保持する必要があります。生成された「ユーザーコンテキスト」クラスはまったく同じですが、異なる.NET名前空間に入れてください(XMLネームスペースは同じです)。

これらのインスタンスのいずれかを渡すことができるようにしたいと思います。どうすればできますか?

Visual Studio 2010を使用しており、WebReferenceを追加して生成されたクラスを使用しています。他のフレームワークやメカニズムを使用することに反対していません。私は自分のコードを転がすことさえ考えていましたが、使用する必要がある多くのウェブサービス(それぞれに多くのWebメソッドを備えた)があります。

アップデート: :もともと、これらをWebリファレンスを追加することで追加しましたが、サービスリファレンスとして追加します。 Webサービス自体は、IntersystemsCachéを介して公開されており、WS-Iにどれだけよく適合しているかを検討していません。

役に立ちましたか?

解決

2010年VSについてはわかりませんが、2008年には、必要なことを行うWizardを追加するサービス参照に「参照アセンブリの再利用タイプ」がありました。すべてのWeb参照に同じタイプを作成するために、アセンブリを作成し、それらのタイプ定義をそこに配置し、プロジェクトから参照してから、必要なWeb参照を追加します。

他のヒント

このような問題を解決し、1つのクラスのみを使用し、XMLシリアル化/崩壊化でオブジェクトを変換しました。しかし、それでも完璧な解決策ではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top