如何在開發初期即找到程式中有呼叫 WCF 或是 SqlConnection 沒有關閉

這幾年來常常因為客戶的交易系統發生問題而被緊急呼叫到現場處理, 也常是在深夜時候被抓去. 分析到最後, 常是因為資源沒有正常的釋放, 如 Web Server 去呼叫 AP Server 的 WCF 程式沒有關閉連線 或是 資料庫操作沒有關閉連線 我常在想一定要這麼辛苦嗎? 為什麼不在開發的時候就即早發現問題, 不要讓這些不定時炸彈到正式環境後才爆炸. 有一個很簡單且方便的方法: Visual Studio 內建的 靜態程式碼分析 (Static Code Analysis) 步驟如下: 1. 我新增一個 WCF 專案及 Console Appliction, 並在 Console Application 參考 WCF 服務 2. 在 Console Application 專案屬性頁中, 程式碼分析 => 選擇 Microsoft 所有規則 (也可以自行調整規則集內容) 3. 在專案上右鍵 => 分析 =>…

0

Visual Studio 某些操作會出現 ArgumentException

  問題描述: Visual Studio professional 2013 Update4,在進行程式碼分析的時候發生以下的錯誤 建議將 控制台內的螢幕顯示縮放設定改回100%

0

如何在VS2010專案中使用Nuget / Azure套件(以Azure Storage為例)

1. 在VS2010點選Extension Manager: 2. 搜尋Nuget Package Manager後,安裝Nuget Package Manager。 3. 開啟您的ASP.NET專案後,點選NuGet Packages for Solution 4. 搜尋Azure Storage,安裝Windows Azure Storage套件 <如何新增Azure專案> 1. 點選Install Web Component: 2. 安裝Azure SDK for VS2010 3. 安裝完成後,重新開啟VS2010就可以選擇Azure project template Enjoy.

0

如何比對擱置內容, 而不解除它

情境: 之前客戶問我: 如果別人擱置修改後的程式碼讓我檢視, 可不可以直接顯示結果, 而不用解除櫚置, 看完再 Undo Changes. 今天無意間發現有一個方式可以做到, 步驟如下: 1. Visual Studio –> 工具 –> 選項 –> 設定使用者工具 2. 加入 3. 輸入 WINDIFF 工具的位置 4. 設定完成 6. 找到櫚置 7. 詳細資料 8. 選擇要比較的版本. 9. WINDIFF 顯示比較結果. Enjoy.

0

如何讓 ASP.NET 1.1 應用程式, 在 Windows 2008 R2 64bit 上執行

随著 Windows Server 2003 的支援期限到期, 最近有很多企業將目前很多的 Windows Server 2003 升級到 Windows 2008 R2. 之前有許多 Web Application 是使用 .NET 1.1 開發的, 短時間無法升級及修改程式, 故先以設定作業系統可以支援 .NET 1.1 Web Application 先用. ( 還是要升級到 .NET 2.0 以上的版本較好) 將最近協助客戶步驟整理如下: 1. 在安裝 IIS 時, 請確認 IIS6 Metabase Compatibility 有勾選. 2. .NET Framework 1.1 安裝 請依下列順序安裝: .NET Framework Version 1.1 Redistributable Package .NET…

0

VC6 升級到 Visual Studio 2010 C++

今天客戶問了一個 VC 6 升級到 Visual Studio 的問題, 找到同事寫的一篇文章說明很詳細, 供大家參考: Visual Studio 2010 C++ Project Upgrade Guide http://blogs.msdn.com/b/vcblog/archive/2010/03/02/visual-studio-2010-c-project-upgrade-guide.aspx Enjoy.

0

如何比對資料表筆數(值)

資料庫轉移到不同伺服器後, 想要比對各資料表筆數有沒有不同 若資料值或是筆數不同,代表在移轉過程仍有應用程式在操作資料庫,會造成資料不一致。 RESOLUTION 1: 使用 Visual Studio 2010 資料比較工具,可以比對到每一個資料值。 RESOLUTION 2: 使用 TSQL + Excel 來做 –此語法相容於 SQL 2000 –DROP TABLE temp_table –TRUNCATE TABLE temp_table CREATE TABLE temp_table (    no_of_rows INTEGER,    table_name VARCHAR(30), ) EXEC sp_MSforeachtable ‘INSERT INTO temp_table SELECT COUNT(*) AS nr_of_rows, ”?” AS table_name FROM ?’ SELECT * FROM temp_table…

0

在 SQL Server 發現大量在 Sleeping 的連線

昨日客戶的 DBA 發現 SQL Server 上有近 300 個連線, 其狀態皆為 Sleeping , 為何會這樣呢? 原因: 主要是有一個系統一啟動時, 便開了 300 個 connection . 做了一個測試來重現這個問題 寫了一個程式, 用相同的語法做 10 次查詢, 沒有關閉 SqlConnection. 從資料庫查看所有的 sysprocesses, 會發現有 10 連線在 sleeping   相同的程式, 多加 SqlConnection.Close 後, 再觀察, 會發現它是用相同的一個連線來做查詢   若使用 SQL Profiler 觀察, 會發現有加 Close 時, 兩個查詢間會有一個 sp_Reset Connection Enjoy.

0