我環顧了整個網絡,但我找不到以下問題的答案。取消NamedPipeClientStream.Read致電
我在客戶端程序中有一個C#/ .NET NamedPipeClientStream實例,並且工作線程正在調用NamedPipeClientStream.Read(byte [],int,int)從服務器獲取數據。服務器將數據更新發送到客戶端。
閱讀是阻止呼叫。如果我想關閉客戶端,有沒有辦法取消/退出閱讀呼叫?我已經嘗試在命名管道實例上調用Close,但它對調用Read的線程沒有影響。
我認爲會有一種方法來取消讀取呼叫。如果不是這樣,那看起來這是一個設計非常糟糕的API,因爲你的程序受制於管道。
任何信息非常感謝。
克里斯
:D你是我的英雄!將管道設置爲異步會導致在調用Close時阻止對Read的返回以返回。非常感謝! – Chris 2010-03-01 21:01:14