如何設定 IIS 檔案上傳的大小限制

因為公司公告的夾帶檔案超過IIS預設上傳檔案的最大限制,所以需要自行設定上傳檔案的最大限制。

剛開始是用IIS管理介面修改IIS回應緩衝處理限制及要求實體的上限 這兩個在預設站台>>IIS>>ASP>>設定內容裏的設定值。但是上述的設定修改並沒有達到任何效果。

最後是修改 web.config 設定檔,在system.web 節點下的加入 httpRuntime 節點並設定其內的屬性值 maxRequestLength=munber (KB)。才能讓檔案容量過大的夾帶附件順利上傳成功。

相關設定說明參考:http://msdn.microsoft.com/zh-tw/library/e1f13641(v=vs.80).aspx

Asp.NET 所開發的網頁無法輸入日文字或其它Unicode字型

之前已經有發現到類似的問題,是在網頁中輸入日文字所造成的問題。當時的情況是只要輸入請假事由的字串中包含日文字型就會出現以下的訊息。「偵測到來自用戶端的潛在危險 Request.Form 值.」 ,雖然可以透過取消字串驗證的方式,即可以讓日文字以unicode的方式存入後端。但最終還是沒繼續採用此方式(決得有點不安全)。

作法:在需要輸入日文頁面中的「Page」標籤中加上一屬性值「ValidateRequest="false"」,例如: <%@ Page ValidateRequest="false"%>。

而下面是比較好的做法就是將網站編碼格式改為「UTF-8」這樣的作法也比較一勞永逸。

作法:編輯 web.config 設定 globalization 其中的編碼屬性

<configuration>
  <system.web>
    <globalization
    fileEncoding="utf-8"
    requestEncoding="utf-8"
    responseEncoding="utf-8"
    culture="en-US"
    uiCulture="de-DE"
    />
  </system.web>
</configuration>

注意事項:雖然完成上述的設定後網頁就會以UTF-8的編碼格式傳送至前端,但是網頁呈現出來的文字很有可能會出現亂碼。因為在建立或是編輯程式碼檔案或是前端aspx檔案時,所用的編碼格式是BIG5的而造成。

解決方法:用notepad++開啟有亂碼出現的前端頁面碼ASPX的檔案或是後端的BindCode檔案,這就要看你的中文亂碼是安在哪個檔案上頭的。notepad++開啟檔案後,選擇編碼 >> 轉換至 utf-8 碼格式。

IIS 不認識 targetFramework="4.0" 屬性

在VS2010的開發環境下設計WEB專案之後,在將此專案整個資料夾移至正式的網頁伺服器上運行。很有可能會發生此類的問題,理由是因為VS2010預設是用 .NET4.0 來開發,所以Web.config檔通常都會被標上targetFramework=’4.0’這樣的屬性設定。但是其正式的網頁伺服器如果它沒有安裝.net4.0的framework或是沒有正確的指定應用程式集區所該用的framework的版本,就會造成網頁無法正確運作的情形。
繼續閱讀