質問は簡単です。Web参照を別のクラスから公開することはできますか?
私たちは通常、Webサービスを文字通り(ビジュアルスタジオ)消費するためにWeb参照を使用しています。しかし、私の問題は別の方法です。私は他の人が利用できるようにWebサービスを利用できるようにするために、C#クラスから特定のWebサービスを呼び出す必要があります。
質問は簡単です。Web参照を別のクラスから公開することはできますか?
私たちは通常、Webサービスを文字通り(ビジュアルスタジオ)消費するためにWeb参照を使用しています。しかし、私の問題は別の方法です。私は他の人が利用できるようにWebサービスを利用できるようにするために、C#クラスから特定のWebサービスを呼び出す必要があります。
まず選択肢があれば、サーバーとクライアントの両方でWCFを使用する必要があります。何らかの理由でサーバー上で使用できない場合は、少なくとも「Web参照の追加」ではなく「サービス参照の追加」を使用してクライアント上で使用してください。 「Add Web Reference」は従来のASMXテクノロジーの一部であり、新しい開発には使用しないでください。
第2に、もちろん別のクラスライブラリを作成し、そのライブラリに「サービスリファレンスの追加」を使用することができます。次に、サービスを呼び出すパブリックメソッドを持つクラスを記述できます。このクラスライブラリのユーザーは、パブリックメソッドを呼び出し、サービスを直接呼び出すことはありません。
ありがとう、それを非常に感謝します。私はそれをよく理解していませんでした。 – mabrTheBest
yess ..非常に良いソリューションnether。私はちょうどここにあなたのポイントを持っています。 tqvm! – mabrTheBest
Web ReferenceのC#コードクラスをVSで抽出することができます(よく覚えている場合は隠しファイルを表示します)。 WebサービスのプロキシクライアントコードであるReference.csファイルがあります。
WSに電話するのに必要なものがすべて含まれています。他の場所にコピーしたり、別のプロジェクトに組み込んだり、名前空間/コードを変更したりすることができます。長期的には、対応するWSが進化すれば、このファイルのメンテナンスは苦痛になります。とにかく
、あなたは選択肢を持っている場合、あなたはWCF
はい!これは私が求めている答えです.. tqvm! – mabrTheBest
うれしいです。しかし、WCFについてのコメントを見落とさないでください:-) – jbl
生成されたファイルを別のプロジェクトにコピーすることをお勧めしますので、私はdownvotingに近いです。これは、生成されたファイルを変更するほど悪いことです。 –
上@JohnSaundersのアドバイスに従ってください、あなたのC#クラスとWeb参照クラスの違いは何ですか? Web参照はすでにそれを提供していませんか? – mellamokb
あなたの質問は単純ではありません。それは分かりません。 –
私の言語の間違いは非常に残念です。あなたの意図をありがとう。 – mabrTheBest