我在C#,winform和Mysql中工作。 (Visual Studio 2010)。如何在c#中查找編碼執行時間?
在我的項目中,所有menutrip項目都是不可見的。在登錄時可以看到哪些菜單項用戶權限。對於我看不見所有菜單條。我編碼可見的菜單項。
但它需要太多的時間。超過5分鐘。所以我有幾個問題。
- 我怎麼找到這個編碼執行時間? (我的代碼如下)....
- 是否有任何特殊工具?
- 如何使用有效的代碼來縮短時間?
private void menuActive(ToolStripItemCollection items) { hp.getConnStr(); MySqlConnection connection = new MySqlConnection(hp.myConnStr); MySqlCommand command = connection.CreateCommand(); MySqlDataReader Reader; command.CommandText = "select menu_key from mcs_menu_rights where userid ='"+userId+"'"; connection.Open(); Reader = command.ExecuteReader(); while (Reader.Read()) { foreach (ToolStripMenuItem item in items) { if (item.Name == Reader[0].ToString()) { item.Visible = true; } else { menuActive(item.DropDown.Items); } } } connection.Close(); }
做到這一點的一種方法是使用稱爲分析器的工具。有許多.NET可用。 – Jason 2012-02-07 13:47:15
應該這個代碼甚至工作?你正在遞歸地調用函數,而SqlDataReader仍然是打開的... – 2012-02-07 13:49:24
@zach,他創建了多個讀取器和連接,如果sql server支持多個連接,它就會工作得很好。 – hcb 2012-02-07 13:54:16