私は、Stream
のパラメータを持つメソッドを持つサービスインターフェイスを持っています。このストリームからすべてのデータを読み込んだら、ストリームを閉じるべきですか?これは、メソッド呼び出しが完了したときにWCFランタイムによって行われますか?WebInvokeのストリームメソッドを閉じる必要があります
私が見たほとんどの例では、ストリームからデータを読み込むだけですが、ストリームに対してCloseまたはDisposeを呼び出さないでください。
通常は、クラスがストリームの所有者ではないため、ストリームを閉じる必要はありませんが、理由はこの質問には現在システムの問題を調査しているという理由がありますこのサービスにデータを送信するためにHTTP-Postを使用するAndroidクライアントは、閉じられていないオープンな接続を持つことがあります(netstat
で分析され、TST接続の確立が分析されます)。
<webHttpBinding>
<binding name="WebHttpBindingConfiguration"
transferMode="Streamed"
maxReceivedMessageSize="1048576"
receiveTimeout="00:10:00"
sendTimeout="00:10:00"
closeTimeout="00:10:00"/>
</webHttpBinding>
私は100%確信していないので、コメントとしてこれを置いてください。私はあなたが 'ストリーム'を閉じなければならないと思います、相手があなたにそれを返す前にそれを閉じることはできません。私はこれがあなたの言ったように、直感的ではないことを認識しています。また、私はオープンtcp接続が 'ストリーム'が開かれていることに関連しているとは思わない。 – pleinolijf
@albertjanあなたがそのようにコメントを書いたり、文章全体を書くことができない理由はありますか?私はあなたが言うことを理解していません。あなたは詳細を教えていただけますか? – seba