The Will Will Web | 三月 2011

The Will Will Web

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

Visual Studio 2010 操作技巧系列:常用功能心得筆記

在去年的 Microsoft Tech‧Days 2010 我曾經寫過一篇 Visual Studio 2010 的操作技巧文章在每個人都會拿到的資料袋裡,不過似乎不是很多人看過,因此決定將文章放到部落格上供大家參考學習,要做好開發工作絕對不能不熟悉每天都在使用的開發工具,對工具的掌握度越高,相對的工作效率也就越高,也越能夠專注在更有創造力的事情上!

... 繼續閱讀 ...

在類別庫裡如何判斷 .NET 程式執行在 Web 環境下

今天發現一段特別的程式碼,我們有個方案(Solution)裡有個共用的類別庫(Class Library)專案,此類別庫專案同時提供給多個 Windows 應用程式、Windows 服務以及 ASP.NET 應用程式來使用,但同事用了有點複雜的程式撰寫方法取得目前的 .NET 程式是否為 ASP.NET 執行環境,因此特別撰寫一篇短文來提醒較為簡單易懂的方式。

... 繼續閱讀 ...

善用 JavaScript 的 debugger 指令讓網頁主動進���中斷點

在我們日常開發的工作裡經常會使用 Visual Studio 對 ASP.NET 進行偵錯,不過都是針對在伺服器端的程式進行偵錯,如果要對前端 (Browser) 的 JavaScript 進行偵錯,就可以利用今天打算介紹的這個開發技巧讓已經開啟指令碼偵錯工具的網頁直接進入中斷點,或是強迫網頁啟動偵錯工具利用 Visual Studio 來對網頁進行偵錯,如此一來就能夠輕易的在前端快樂的遊走每一行 JavaScript 程式碼。

... 繼續閱讀 ...

如何封鎖 Windows 遠端桌面的檔案傳輸與剪貼簿傳輸能力

去年的時候有一次客戶急忙來電說伺服器中毒了導致網站掛點,請我幫他修復網站,不過這案子已經結案超過三年,結案後他們就自己管理主機,怎麼管到會中毒我不清楚(其實是被值入木馬),當時不疑有他的就透過遠端桌面程式(mstsc)登入他的主機,不過才剛連上沒多久,我的防毒軟體就不斷的發出警示說有檔案被發現病毒應立即處理,一開始還以為防毒軟體秀逗了,但不斷跳出警告後開始覺得不對勁,查了 3 分鐘之後確認是病毒是從遠端桌面的遠端寫入到我的硬碟,過程中我的硬碟已經被值入 70 多支木馬,實在恐怖!

... 繼續閱讀 ...

Entity Framework 如何呼叫 SQL 裡沒有回傳參數的預儲程序

其實早在 Entity Framework 4.0 之前就已經提供了從 ObjectContext 呼叫 預儲程序 (Stored Procedure) 的能力,不過早期的 Entity Framework V2 版本支援度不夠,以致於只要是這個預儲程序的回傳值的型別不是 實體 (Entity) 的話,就會無法直接從 ObjectContext 進行叫用,這個架構上的問題直到 V4 這個版本才正式解決,以下就是從 Entity Framework 呼叫預儲程序的方法。

... 繼續閱讀 ...

使用 Visual Studio 2010 Ultimate 及 Agent 進行負載壓力測試

在 Visual Studio 2010 Ultimate 裡,其實不用特別安裝 Visual Studio Agent 2010  就能進行負載壓力測試 (也只有 Visual Studio 2010 Ultimate 才能使用負載壓力測試功能),不過若真要進行大流量的負載壓力測試,一台主機可能過於單薄,這時我們就需要安裝 Visual Studio Agent 2010 的 Test Controller 與多台 Test Agent 透過多台主機一起對 測試中系統 (System Under Tests) 進行負載壓力測試,如此一來才能真正看出系統在高壓之下是否還能符合效能需求以及是否能夠穩定運作。Visual Studio Agent 2010 的安裝設定有許多注意事項,在本篇文章裡我將會搭配文章與錄影的方式讓第一次使用 Visual Studio Agent 2010 的人能夠快速且正確的將環境建立起來。

... 繼續閱讀 ...

解決 “為這個系統所設定的修復原則含有不正確的修復憑證”

前陣子在實驗 .NET Framework 裡面的 File.EncryptFile.Decrypt 方法,想透過 .NET 程式對檔案系統中的檔案進行加解密,照理說應該很簡單易用的,不過程式執行時卻會引發一個 System.IO.IOException 的例外狀況,錯誤訊息是「為這個系統所設定的修復原則含有不正確的修復憑證。」,由於我的電腦有加入網域,查到後來原來是網域主控站上的加密檔案系統憑證有兩張,而且有一張已經過期了,所以才會發生這個錯誤,因此這個問題直接從網域主控站上設定群組原則即可解決。

... 繼續閱讀 ...

Windows Server 2008 R2 在登入時無法建立使用者設定檔

這又是一個執行 sysprep 一般化之後所衍生的問題!我新安裝的 Windows Server 2008 R2 已經加入網域,也用網域帳戶登入過了,然後將主機卸離網域,再執行 sysprep 一般化,然後建立新 VM 開機後重新加入網域,這時如果用之前登入過的那個網域帳號進行登入的話,就會遇到在登入時完全無法建立使用者設定檔 (User Profile) 的狀況,也代表著存放在 C:\Users\<Username> 目錄的資料(例如桌面、我的文件、…等等)只要登出就會被刪除,不勝其擾,以下是解決辦法。

... 繼續閱讀 ...

SQL Server 如果本機管理者與 sa 帳戶都無法登入怎麼辦?

前天公司的開發用資料庫主機的硬碟異常,為了拯救資料所以我把整個資料庫主機重灌了,安裝好之後意外的把資料庫裡的本機管理者登入權限移除 (BUILTIN\Administrators),隔天公司其他人由於原本的帳號都登入不了,因此改用 sa 嘗試登入 (重灌後密碼變了),結果卻嘗試到連 sa 帳戶都被鎖定,你說我該怎樣解決呢?^^

... 繼續閱讀 ...

伺服器被 sysprep 一般化後導致 SQLAgent 無法啟動的問題

昨天試著準備一台含有 SQL Server 的 VHD 基礎磁碟,在主機與資料庫都安裝設定好且都測試無誤後使用 sysprep 一般化處理過,試圖準備出一個非常乾淨且內含 SQL Server 的基礎磁碟,不過在開機完並設定伺服器基本參數後發現了我的 SQL Server 2005 的 SQL Server Agent 服務無法啟動,花了些時間才釐清問題,因此留下筆記。

... 繼續閱讀 ...

TFS2010 如何設定警示與如何刪除「其他成員」的事件訂閱

在 Team Foundation Server 2010 ( TFS2010 ) 裡有個很常用的功能叫做 警示 (Alert),他可以在當你定義的事件發生時主動發 Email 通知你,像是變更集的通知,也就是當有人 Check-in 任何一個版本時就會主動發 Email 告知你變更的摘要,或是當有人更新了指派給你的工作時也可以設定主動發通知給你,不過當專案成員從 TFS 的特定專案裡移除後卻還不斷收到這些「事件通知訂閱」(也就是 警示 的意思)怎麼辦呢?而透過 Visual Studio 2010 也沒有地方可以幫你取消訂閱「別人的」訂閱項目,本文教你如何手動移除這些看不到的通知記錄。

... 繼續閱讀 ...

資料庫專案無法寫入目標資料庫時的解法 (調整欄位大小時)

Visual Studio 2010 Premium 企業版 資料庫專案 功能在進行 結構描述比較 (Schema Compare) 時,當你的來源資料庫特定表格某個欄位的欄位大小變更時(變小)可能會引發「無法成功更新目標結構描述。如需詳細資訊,請參閱 [錯誤清單] 視窗。」的錯誤(The target schema could not be updated successfully. For more information, see the Error List window.),此時就必須用今天的方法來解決。

... 繼續閱讀 ...