我試圖使用ETW啓用數據訪問跟蹤,如this article中所述。針對ADO.Net的C#數據訪問跟蹤 - 需要執行分析器檢查多線程之間共享的連接是什麼
要驗證它是否跟蹤事件,我創建了一個簡單的控制檯應用程序,而不是MVC應用程序,因爲它在文章中。代碼如下,它打算拋出,所以我可以驗證跟蹤工作。
var connectionString = "Data Source=local;Trusted_Connection = True; Initial Catalog = Data; Timeout = 2; Max Pool Size = 4";
using (var conn = new SqlConnection(connectionString))
{
using (var command = new SqlCommand("SELECT * FROM DATA", conn))
{
conn.Open();
var reader = command.ExecuteReader();
using (var data = new SqlCommand("SELECT * FROM PEOPLE", conn))
{
var reader1 = command.ExecuteReader();
}
}
}
我正在使用.Net Framework v4.0.30319。 理想情況下,我想跟蹤線程之間共享的連接對象。任何幫助將非常感激!
感謝
[註冊的MOF](https://msdn.microsoft.com/en-us/library/cc765421.aspx),用[Perview](https://stackoverflow.com/a/46022660/1466046) - > Collect-> provider-browser並添加ADO.net和SQL的所有內容,點擊開始並運行你的代碼。在代碼運行後,轉到perfview並停止日誌記錄並查找ADO/SQL事件 – magicandre1981