你正在看ObjectContext
類的靜態變量:
private static int _objectTypeCount; // Bid counter
internal readonly int ObjectID = System.Threading.Interlocked.Increment(
ref _objectTypeCount);
我不知道什麼是這樣做的目的。 (據統計多久的ObjectContext的已應用程序或會話有效期,或什麼???期間創建)
但因爲它是靜態你不能從不斷增加的反認爲你的ObjectContext
情況下沒有已從內存中刪除。
編輯
此計數器,並在代碼中ObjectID
顯然與所謂的BID tracing向。 「BID」代表「內置診斷」。上面的內部代碼結構出現在許多ADO.NET類中。它被用於只爲追蹤在這些類的方法調用和發生在跟蹤功能是這樣的:
EntityBid.Trace("<ec.EntityCommandDefinition.CreateCommand|ADV> %d#\n",ObjectID);
的_objectTypeCount
和ObjectID
只是那裏給一個類型的名稱的一個實例(或唯一的ID),用於跟蹤輸出。
除了追蹤它在ObjectContext
類中沒有功能意義。
感謝您的回覆,並對已故的意見感到抱歉。有沒有另外一種方法來查看ObjectContext當前在內存中有多少實例? – Julian
@ Julian:不幸的是我不知道。我相信'ObjectContext'在這個問題上並不特別。這可能歸結爲一個問題:「如何檢查一個對象是否仍在內存中或已經被垃圾收集?」或者什麼......我對.NET系統基礎結構的瞭解不足以自己回答這個問題。將是一個有趣的新問題:) – Slauma