ASP.NET | The Will Will Web

The Will Will Web

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

ASP.NET 發現重大資安弱點影響範圍涵蓋 ASP.NET 1.1 ~ 4.0

幾天前從 ScottGu's Blog 得知了一個 ASP.NET 的重大資安弱點,微軟緊急的在最短時間內推出安全性更新,目前已正式發佈至 Windows Update 網站,各位 IT 人員隨時都能透過 Windows Update 套用這次的安全性重大更新,以確保 ASP.NET 網站能夠正常運作。由於這次的安全性更新被歸類為「重大」等級,所以各位還是盡可能早更新早安心,不要等出事了才反應喔!

... 繼續閱讀 ...

嘗試執行專案時發生錯誤: 無法在Web伺服器上啟動偵錯。

在 2011 年的今天,我們又再度接手了一個 ASP.NET 1.1 的網站維護,而在開發主機都正常運作了幾個月之後卻又再度遇到鬼打牆的問題,而且這個錯誤訊息真的會讓人丈二金剛摸不著頭緒【嘗試執行專案時發生錯誤: 無法在Web伺服器上啟動偵錯。無法啟動 ASP.NET 或 ATL Server 偵錯。 請確認該伺服器已正確安裝 ASP.NET 或 ATL Server。】,我跟他奮鬥了五個小時才弄清楚問題發生的主因。

... 繼續閱讀 ...

ASP.NET 開發人員應使用 IIS Express 進行開發與測試

IIS 7.5 Express 是一套針對 ASP.NET 開發人員特別設計的 IIS 7.5 版本,我發現有許多人並不知道他的存在,甚至於不知道何時要使用他,就覺得這只是另一個提供 ASP.NET 執行環境的程式而已,在 Visual Studio 2010/2008/2005 內建的 ASP.NET 開發伺服器 (Cassini) 已經使用很久,用來作為開發測試之用也沒什麼問題,有必要將開發環境的伺服器修改成使用 IIS 7.5 Express 來執行嗎?今天我就提出幾個重要的觀點。

... 繼續閱讀 ...

介紹好用 Visual Studio 2010 擴充套件:All-In-One Code Framework Sample Browser

Microsoft All-In-One Code Framework 又稱 1code,集結微軟開發平台中各個技術領域的範例程式碼,目前已經累積了超過六百多個含有完整且可執行的專案原始碼在上面,主要的目的就是用來幫助學習微軟技術的開發人員解決各種工作上常見的問題,而這些範例程式碼的產生都源自於 MSDN 論壇上、社交媒體或其他開發社群等提出的種種開發問題,並由微軟員工撰寫範例程式碼提供給所有開發人員下載參考、觀摩之用,這一切不但都是免費的,更重要的是:如果你覺得他們沒有你要的範例程式,你還可以提出需求,請微軟的工程師幫你撰寫範例程式,Oh~ My GOD~~

... 繼續閱讀 ...

上傳檔案至 IIS 的檔案名稱有三個字元最好禁止使用: % # +

上個月有個客戶提到他們從後台上傳的檔案不知為何在前台就是看不到,我查看了一下發現檔名中有個加號 ( + ),但奇怪的是原本網站明明就是好的。後來我才想起來客戶最近主機升級了,從 Windows Server 2003 升級到 Windows Server 2008 R2,可能是因為這樣才導致這個問題發生,我研究了一會兒終於明白問題發生的原因,並不是 IIS7 有問題,而是變的更安全了,也因為這個問題讓我更加意識到在實做檔案上傳功能時應該注意到的事情!

... 繼續閱讀 ...

使用 MSDeploy 部署網站時如何避免刪除遠端網站的檔案

這陣子都在玩跟網站部署有關的相關技術,其中有一段一定要透過 MSDeploy 手動部署網站上去,但問題是在透過 MSDeploy 批次檔進行手動部署網站時,由於 MSDeploy 會自動比對遠端與本地端的檔案差異執行「雙向同步」,這反而造成了當遠端伺服器裡有新增的檔案(例如在 App_Data 下有動態新增的檔案),每次透過 MSDeploy 部署後那些不存在本地端的檔案全部都會被刪除,這是個大問題,而我也研究了好些時間才找到方法解決這個問題。

... 繼續閱讀 ...

利用 WebMatrix 打造低成本高效益的完美網站 (簡報檔下載)

今天有堂打造低成本高效益的完美網站的演講,課堂中介紹了微軟的新一代安裝工具 Web Platform Installer 以及微軟的新一代架站工具 Microsoft WebMatrix 等,這次的演講內容中 WebMatrix 對我來說也是新的,但這次準備的還算充分,我覺得有把最核心、最重要的工具價值講到,會後還有學員跑來跟我說他看到我花兩分鐘安裝好 WordPress 感動到快哭了,呵呵!  ^__^

... 繼續閱讀 ...

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

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

... 繼續閱讀 ...

手動升級 ASP.NET 2.0 網站至 ASP.NET 4.0 的標準作業流程

目前公司的專案已經越來越多使用 .NET Framework 4.0 版本,然後舊有的網站有時後要增加一些功能或新增的功能會用到一些 .NET 4.0 編譯好的組件時就非常麻煩,要不就是重新編譯參考的組件到 2.0 版(但不一定會編譯成功),要不就是將舊有的 ASP.NET 網站直接升級到 ASP.NET 4.0,我在 VS2010 上市發表會:Web 開發效率提昇 - ASP.NET 4.0 演講時有分享一些網站升級的注意事項,不過今天我特地將手動升級網站的完整過程記錄下來,讓各位按圖施工、保證成功!^_^

... 繼續閱讀 ...

ASP.NET 在 x64 系統執行含有 32 位元 COM 元件的注意事項

今天在處理一個很久沒經手的專案,結果在設立執行環境時 ( Win7 x64 + IIS7 ) 卻遇到了無法載入組件的錯誤訊息 ( Could not load file or assembly 'Interop.ActiveDs' or one of its dependencies. An attempt was made to load a program with an incorrect format. ) 其中文錯誤訊息為 "無法載入檔案或組件 ‘'Interop.ActiveDs' 或其相依性的其中之一。 系統找不到指定的檔案。" ,雖然這個問題之前遇到過,不過由於久沒處理過這個案子,忘記了這個案子有用到 32 位元的 COM 元件,因此必須要設定 IIS7 的應用程式集區才能讓網站正常載入 COM 組件並正常執行。

... 繼續閱讀 ...