奇怪的一個,我不仍然得到,是這樣的:異常表達式
說,
try
{
stateClient.Socket.BeginSend(messagePrefixed, 0, messagePrefixed.Length,
SocketFlags.None, ar => stateClient.Socket.EndSend(ar), stateClient);
}
catch (SocketException ex)
{
// Handle SocketException.
}
catch (ObjectDisposedException ex)
{
// Handle ObjectDisposedException.
}
我不明白爲什麼有ObjectDisposedException
返回lambda表達式沒有抓到!?我正在深入研究lambda,我無法理解它。是關於lambda的範圍嗎?範圍變量?線程問題?我知道lambda沒有多線程的本質,但你可以看到返回來自另一個由BeginSend
創建的線程。在將實現轉換爲lambda之前,當我有一個處理EndSend
的AsyncCallBack
方法時,這沒問題。
任何幫助表示讚賞。 預先感謝您。
很好解釋馬克,謝謝.. –