解決 IE11 不被 Windows Server 2003 的 .Net 認得問題

IE 每一版都要整人….

IE11 上 asp.net 網站,postback 都失效

之前解決類似的問題是 iOS 的 Chrome,那時在 site project 加了一個 App_Browsers 目錄然後放了一個 Chrome 的定義

結果 IE11 這樣做竟然沒效,搜尋到有人說裝微軟 hotfix 可以解決,結果裝了好幾個一樣沒效(因為是 Windows Server 2003,所以也沒辦法上 .Net 4.5)

最後直接去動 .Net 目錄總算解決了,步驟貼在這 http://stackoverflow.com/a/19855256/1297563

自己翻譯一下:

  1. 編輯 C:WINDOWSMicrosoft.NETFrameworkv4.0.30319ConfigBrowsers 把這篇提到的瀏覽器定義加進去 http://stackoverflow.com/a/19203518/1297563
  2. 執行 c:WINDOWSMicrosoft.NETFrameworkv4.0.30319aspnet_regbrowsers.exe -i
  3. 重新啟動 IIS

使用 RazorEngine 要小心的事情

RazorEngine – http://razorengine.codeplex.com/

小心不要一直呼叫 Razor.Parse() 每次它都會動態編譯東西到記憶體裡面,而且是不會被 GC 掉的

參考:http://stackoverflow.com/questions/12301515/razorengine-memory-usage

但是解法也不難,不需要升級版本到 3 就可以解

就是用 Precompiling Templates 的作法做

http://razorengine.codeplex.com/wikipage?title=Quick%20Start%20Guide&referringTitle=Documentation