wsdlをインポートしました。Web サービスのメソッドを含むクラスを取得しました。クラスは SoapHttpClientProtocol から派生します。
すべてのメソッド呼び出しが新しい接続を開くのか、それとも接続が再利用されるのか、誰か教えてもらえますか?
再利用されない場合、どのように再利用できますか?
そして最後の質問は、クライアントを WCF のクライアントにすることはできますか? また、wcf の wsdl をインポートする方法は?
ありがとう!
これを WCF サービスにするには、単にメソッドを装飾するのではなく、インターフェイスを作成する必要があります。プロジェクトにインポートするには、同じように機能します。
2.0 サービスについてはわかりませんが、WCF では、サービス クライアントを呼び出す方法によって異なります。私の知る限り、一般に、接続は、閉じるまで、またはスコープを失うまで(一貫性がありません)開いたままになります。したがって、WCF サービスになったら、クライアントをインスタンス化し、すべての呼び出しを行ってから閉じます。現時点でのベスト プラクティスは、try/catch でラップし、catch ブロックでクライアントを .abort することだと思います。ただし、私の経験では、サービスが疎結合であり、大量のデータをパイプしようとしていない場合、接続の繰り返しは大したことではありません。
ただし、サービスがSQL接続を開くようなことをしている場合、クライアントの接続状態に関係なく、すべてのサービス呼び出しでSQL接続が行われることに注意してください。これは、操作を完了し、データセットまたは何らかの形式の DTO を返して、クライアントとサービスの間のテニスの試合を保存するために、サービスの内部で SQL 接続を売ろうとする汚い状況の 1 つです。