The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

透過 Entity Framework 如何有效率的取回特定資料表的筆數

在許多開發情境下經常會試圖取回整個資料表的筆數,像我們就有個統計網站累積使用人次功能,開發人員寫的時候就是用 SELECT COUNT(*) FROM TableName 的方式來取得目前總共有多少人次進入網站,但用這種方式執行效率並不高,每次執行都會產生一次 Index Scan,也就是在 SQL Server 資料庫裡所有主索引鍵的資料都會被掃瞄過一次才能統計出資料總筆數,當資料越多的時候,效能就會越差,在這裡我提供另一種 hack 的方法可以更有效率的取得整個表格的總筆數,但此法僅適用於 SQL Server 喔!

... 繼續閱讀 ...

如何在「建置部署套件」或「單鍵發行」時一起發佈空目錄

上週公司有個同事遇到一個問題,就是他透過 Visual Studio 2010 的「單鍵發行」功能發佈網站,程式在執行時就會出錯,經我檢查之後發現原來他在網站的 App_Data 目錄下有建立一個必要的資料夾,此資料夾會存放執行時期寫入的資料,所以目錄不存在就會掛掉,但是 Visual Studio 2010 其實並不會發佈任何沒有檔案的目錄,因此要解決這個問題就必須特別處理一下。

... 繼續閱讀 ...

Windows 如何設定「特定服務」由「特定使用者」進行管理

我們有個客戶的生產環境的資安要求極其嚴格,我們廠商進去維護都必須申請才能提高權限,否則就要委由系統維護人員進行操作,所以非常不方便。然而他們向我提出了個例外條件,就是他們可以接受特定服務可以由廠商的特定帳號來管理,不過好像 Windows 沒有這種授權方式,請我找看看有沒有這種方法。最後我也研究出設定的方法,還真的 100% 符合客戶的要求,今後我們維護作業就更輕鬆了,以下是設定的方法筆記。

... 繼續閱讀 ...

解決 SQL Server Profiler 找不到「使用範本」的問題

我的個人電腦由於先安裝了 SQL Server 2005,然後再安裝了 SQL Server 2008,之後又安裝了 SQL Server 2008 R2,在這樣不斷升級的過程我發現我目前的最新版 SQL Server 2008 R2 的 Profiler 工具找不到「使用範本」可選,以致於無法讓我在本機收錄 SQL Server 執行時期的資料,這問題曾經困擾著我,不過還好問題已經修復了,以下是修復此問題的筆記。

... 繼續閱讀 ...

如何在Windows作業系統安裝 Node.js 執行環境 (WebMatrix)

昨天本來很想去參加HTML5與Node.js在台灣聯合技術小聚,礙於有要事在身無法參加實在可惜,最近剛好看到 Tomasz Janczuk 開發出 iisnode 專案,一整個超強的,可以用非常直覺的方式在 Windows 平台與 IIS 來管理 node.js 應用程式,還能用 WebMatrix 進一步整合開發環境,所以特別撰文告知 node.js 迷這個好消息。 :-)

... 繼續閱讀 ...

建立 NTFS Reparse Points 的方法 ( Soft Link 與 Hard Link )

最近在安裝壹台測試機,由於要架設好幾個站台,每個站台的程式部分大概有 20MB 左右而已,但是搭配著網站進行測試的相關檔案卻有將近 3GB 之多,為了可以順利測試網站這些檔案都必須存在,如果真的複製好幾份的話主機就會頓時浪費許多磁碟空間,這時就可以多加利用建立 檔案連結目錄連結目錄連接 (Junction) 的方式有效減少硬碟空間。

... 繼續閱讀 ...

如何設定與啟用 ASP.NET 的 SQLServer 工作階段狀態模式

今天有同事請我幫忙設定讓 ASP.NET 網站能改用 SQL Server 當作 工作階段狀態 (Session State) 的提供者,剛好乘機將設定的過程筆記一下,其實設定過方法並不複雜,只要下幾個指令並修改 web.config 即可完成,總共也只有幾個步驟而已,其中的注意事項我也會提到一些。

... 繼續閱讀 ...

NuGet 套件: .NET Framework Extensions Packages (netfx)

以往我們要使用一些現成的工具函式庫時,都會去網路上找一些好用的原始碼回來用,但是當作者改版或修掉一些 Bugs 之後我們並不會主動收到通知,就算是公司內部的函式庫一樣會有版本控管的問題,但是若能透過 NuGet 來幫忙做控管,未來所有專案都能夠享受到自動更新這些工具函式原始碼的服務,而最近就興起一個 netfx 專案整理了許多小片段的原始碼,讓你可以輕易的將這些原始碼透過 NuGet 套件管理員下載到專案中,並可在未來自動更新,方便管理這些下載的原始碼。

... 繼續閱讀 ...

ASP.NET MVC 建置部署套件後無法 MvcBuildViews 的解法

我去年寫過一篇【Visual Studio 2010 建置部署套件與 ASP.NET MVC 的衝突】文章,雖然當時已經知道怎麼解決,但是每次在 發行網站 (Publish) 或 建置部署套件 (Build Deployment Package) 後都要手動刪除 obj 目錄實在覺得很麻煩,今天狠下心研究出一個方法可以在 MvcBuildViews 之前「自動」刪除 obj 目錄裡那些會阻礙建置步驟的相關檔案。

... 繼續閱讀 ...