2011-02-10 14 views
10

明らかにCloseとDisposeは事実上同じです。私はServiceHostインスタンスを毎回再インスタンス化せずに閉じることができるようにしたい。何か案は?ありがとう。WCF:myServiceHost.Close()がmyServiceHostオブジェクトを破棄しないようにするにはどうすればいいですか?

+0

質問を言い換えると、Closeを呼び出さずにmyServiceHostを "無効にする"ことはできますか? – Sam

答えて

11

ServiceHost.Closeは、Dispose()と事実上同一です。これは、一般に、Close()メソッドを持つすべてのタイプ - Dispose()で実現され、Close()で実装されます。

FYI - ServiceHostBase実装Dispose()明示経由:

void IDisposable.Dispose() 
{ 
    base.Close(); 
} 

これを、効果的に、あなたがのServiceHostを閉じるとき、あなたは常に()、それを処分しましょうということを意味します。再作成せずに「再オープン」する方法はありません。

+0

@赤いCopsey、あなたの応答に感謝します。私は質問を言い換えてみましょう、私は "無効" serviceHostオブジェクトを閉じることなく呼び出すことができますか? – Sam

+0

@Sam:Nope。それを閉じて、もう一度「有効」にしたいときに再作成します。 –

+0

なぜserviceHostを「無効にしますか?このサービスは常に発信者が利用できるようにする必要があります。 –

関連する問題