IIS | The Will Will Web

The Will Will Web

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

ASP.NET MVC 使用 Html.BeginForm 預設多載引發的問題

最近因為有客戶要求將網站部署到 Windows Azure WebSites 雲端平台,原本在開發環境測試都沒什麼狀況,反而是部署到 Windows Azure WebSites 之後才發現一個棘手的問題,一般網頁瀏覽並不會有問題,而是當使用 IE 瀏覽器,且有表單要送出資料時就會發生 502 - Web server received an invalid response while acting as a gateway or proxy server. 的問題,這才發現一個 ASP.NET MVC 的小臭蟲(Bug)。

... 繼續閱讀 ...

使用 MSDeploy 部署網站時如何避免變更遠端目錄NTFS權限

由於我們許多專案都用 MSDeploy 進行部署,但最近因為 IIS 伺服器上的架構有所變更,卻引發專案進行部署時發生許多 NTFS 權限上的錯誤,也就是當網站部署之後,連本機系統管理者都無法透過檔案總管進入目錄的窘境,剛花了一個多小時研究,終於找到徹底解決此問題的方法。

... 繼續閱讀 ...

在 IIS7 新增【中文域名】的網站站台無須先轉換 PunyCode

有時候知道太多東西也好像不是見好事,像我多年前在幫客戶設定一個〔中文域名〕的時候,就是遇到設定網站前要先將中文域名轉成 PunyCode 才能設定的情況,今天我公司同事由於要替客戶新增一個中文域名的網站,因為他沒設定過,便跑來問我應該如何設定。我就跟他講有 PunyCode 這件事,然而設定完成之後 IIS7 裡的站台完全打不開,而且查不出原因,這才發現原來 IIS7 早已內建支援中文域名,設定的時候無須轉換網址就能正確設定,這件事,還是寫篇文章來提醒大家吧。

... 繼續閱讀 ...

Windows 8 如何安裝 IIS8 與開啟系統管理工具 (管理主控台)

剛安裝 Windows 8 的 Web 開發人員一定會有這樣的疑問,那就是在安裝完 IIS8 之後找不到它的管理主控台,想當然的,所有其他原本就該有的系統管理工具也都搜尋不到。事實上這些東西都還在,只是預設被隱藏起來了,本篇文章將逐步講解安裝 IIS8 的過程,以及開啟管理主控台的步驟。

... 繼續閱讀 ...

介紹好用工具:Log Parser Lizard GUI (最佳視覺化 LP 工具)

三年半前我曾經介紹過一個 Log Parser 分析工具,透過這套工具可以分析各式各樣的紀錄來源,分析的資料來源可以是 IIS Logs、檔案與目錄資訊、Windows 事件紀錄、Windows 機碼、Active Directory 物件、ETW traces、還能分析 NetMon .cap 擷取資料。但 Log Parser 眾所皆知的問題就是缺乏 GUI 操作介面,也因此我之前也介紹過另一套 Visual Log Parser 視覺化查詢工具,但此工具已經年久失修,在實務上並不夠好用。今天要介紹的是由 Lizard Labs 所研發出來的 Log Parser Lizard GUI 工具,他在工具中結合常用的查詢語法更能適用於實務上快速查詢的需求,實在是個不得不介紹的好工具。

... 繼續閱讀 ...

如何正確設定 SMTP 服務的日誌記錄與挑選適當的欄位

即便到了 Windows Server 2008 R2 微軟的 SMTP 服務還是執行在 IIS 6.0 之上,看起來作業系統這幾代的演進完全沒有撼動到 SMTP 服務的地位,我能說 SMTP 服務的確屬於 麻雀雖小、五臟俱全 的等級,一直以來我都期盼 SMTP 服務能有些改進,不過還是盼望不到,像是 SMTP 服務的紀錄就是其中一點,由於 W3C 擴充記錄檔格式 並不適用於 SMTP 通訊協定,而且完全沒有文件說明怎樣閱讀 SMTP 服務產生的紀錄(Log),最後也只好苦命一點自行研究摟!

... 繼續閱讀 ...

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

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

... 繼續閱讀 ...

如何在 IIS7 / IIS7.5 安裝 SSL 憑證(含 IIS7 匯入憑證的 Bug)

先前我曾經寫過一篇【購買與安裝 SSL 憑證完全攻略 (以 IIS7 為例) 】文章,文章裡鉅細靡遺的解說如何從購買 SSL 憑證到安裝 SSL 憑證到 IIS 上的過程,而且都有詳細的圖文解說,不過我最近卻發現當透過 IIS7/IIS7.5 管理員匯入 SSL 憑證且將憑證設定為「不允許匯出此憑證」時,就會導致該憑證無法正確繫結到站台的狀況,所以特別撰文提醒各位如何才能夠安全的管理憑證使用,又能正常運作於 IIS7 之中。

... 繼續閱讀 ...

ASP.NET MVC 開發心得分享 (21):Routing 觀念與技巧

ASP.NET MVC 預設在 Global.asax 所定義的 RegisterRoutes 方法中可以輕易的定義你希望擁有的網址格式,嚴格上來講這並非 ASP.NET MVC 的專利,而是從 ASP.NET 3.5 SP1 就加入的新特性,所以就算是傳統的 ASP.NET Web Form 一樣可以利用 Routing 所帶來的好處,今天我就來講一些 Routing 的觀念與技巧。

... 繼續閱讀 ...

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 的時候還真的找不到開啟的方法,費了些功夫才研究出來。

... 繼續閱讀 ...