The Will Will Web

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

IIS6:HTTP 401.1 - 未經授權:因認證無效而存取遭到拒絕

我有個客戶的主機位於中國大陸,作業系統是簡體版的 Windows Server 2003,預設網站停用中,正式網站的站台可以正常運作,但我們做的新網站安裝完之後卻發現總是無法遠端瀏覽,只能在本機看到網頁與程式都正常執行,遠端看的時候主要錯誤訊息為「HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝。」這台主機實在不知道被多少人荼毒過,怎麼設定就是無法讓網站成功安裝起來,即便連靜態檔案都無法存取,心裡雖然明白重灌就能解決問題,但一份不服輸的精神總想著要釐清問題才能終身解除夢魘,所幸皇天不負苦心人,問題終於找到了答案。

... 繼續閱讀 ...

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 來執行嗎?今天我就提出幾個重要的觀點。

... 繼續閱讀 ...

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

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

... 繼續閱讀 ...

如何才能在 IIS 7.5 使用 Windows PowerShell Snap-In 功能

在 IIS 7.0 的時候,由於需要額外安裝 Windows PowerShell Snap-In for IIS 7.0 才能在 PowerShell 裡管理 IIS 7 的相關站台與設定,而且安裝好之後還會在「程式集」中建立一個 IIS PowerShell Management Console 的捷徑,開啟之後就可以立即開始使用這些好用的 Cmdlet。不過此功能到了 IIS 7.5 已經內建在作業系統裡,感覺好像是件好事,不過它卻把 Snap-In 的捷徑移除了,我在不熟悉 Windows PowerShell 的時候還真的找不到開啟的方法,費了些功夫才研究出來。

... 繼續閱讀 ...

ASP.NET 網站專案如何利用 MSDeploy 工具進行部署

我之前寫過一篇〔如何使用 Visual Studio 2010 的「單鍵發行」功能〕文章,當時簡直挖到寶一樣,可惜最近又開始維護幾個多年前用 ASP.NET 2.0 建置的網站,當時是以 網站專案 (WebSite Project) 的專案類型開發的,因此 Visual Studio 2010 的「單鍵發行」功能就變的英雄無用武之地,還好透過 Visual Studio 2010 Web Deployment Projects (WDP) 可以將網站專案封裝起來,但是上週遇到一個怎樣都無法發行成功的問題,查了兩個小時才找到這原來是一個 Visual Studio 2010 ( 含 SP1 ) 的 Bug,使用的人要特別注意這個小問題。

... 繼續閱讀 ...

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

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

... 繼續閱讀 ...

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

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

... 繼續閱讀 ...

如何利用 Web Platform Installer 安裝 PHP 與 MySQL 資料庫

利用 Web Platform Installer 安裝 PHP 與 MySQL 資料庫真的非常非常方便,除了全自動的安裝過程外,最近還推出了 PHP Manager for IIS 擴充套件,對 PHP on Windows 的新手來說簡直會感動到痛哭流涕,我特別將安裝的過程與 PHP Manager 使用方法大致錄製成影片,讓沒用過的人搶鮮預覽一下 GUI 介面的友善。

... 繼續閱讀 ...

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 組件並正常執行。

... 繼續閱讀 ...