西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)C#.NET → 裝上.NET Framework 4.5后 IE瀏覽器打開網(wǎng)頁卡

裝上.NET Framework 4.5后 IE瀏覽器打開網(wǎng)頁卡

前往專題相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時間:2012/9/14 10:03:30字體大。A-A+

作者:佚名點擊:100次評論:2次標簽: .NETFramework

.NET Framework2.0 安裝版
  • 類型:編程控件大。23.9M語言:中文 評分:4.7
  • 標簽:
立即下載

一個是微軟的 IE,一個是微軟的 .NET Framework 4.5,竟然出現(xiàn)如此離奇的問題,不得不讓人想起一句詩句:“本是同根生,相煎何太急”。

下面我們來一睹這個百年一遇的奇怪問題。

問題背景

最近將 job.cnblogs.com 項目中的 Entity Framework 升級到了 5.0,據(jù)說 EF 5.0 在 .NET Framework 4.5 之下性能會有大幅提升(相關(guān)博文),于是在服務(wù)器上安裝了 .NET Framework 4.5。

安裝后發(fā)現(xiàn),.NET Framework 4.5 并沒有在 C:\Windows\Microsoft.NET 中創(chuàng)建新的文件夾,都安裝在了 .NET Framework 4.0 文件夾中,并且更新了 .NET Framework 4.0 中的很多 dll 文件,比如 System.Web.dll, System.Web.Routing.dll...

老規(guī)矩,安裝后需要重啟服務(wù)器,重啟后測試了所有站點(IIS 7 + ASP.NET MVC 3 + WebForms),未發(fā)現(xiàn)任何異常。

問題現(xiàn)象

接著,陸陸續(xù)續(xù)有園友反映訪問閃存(home.cnblogs.com/ing/)很卡,開始以為是網(wǎng)絡(luò)線路問題。后來發(fā)現(xiàn)出現(xiàn)問題的用戶用的都是 IE 8,以為是 js 代碼的瀏覽器兼容問題引起的,于是檢查  js  代碼,在這個過程中無意間重現(xiàn)了這個問題, 而且用的是 IE 9。

用戶所說的“很卡”究竟是什么樣一種情況,請看下圖:

“卡”也就是瀏覽器標簽窗口上的小圖標一直處于旋轉(zhuǎn)狀態(tài)(等待服務(wù)器響應(yīng))。

按 F12 打開 IE 的開發(fā)者工具,發(fā)現(xiàn)瀏覽器發(fā)出請求后,服務(wù)器一直沒有響應(yīng)。說明這個問題與 js 沒有任何關(guān)系,是服務(wù)器端請求處理問題。

(這時你也許會有疑問,這個問題我們自己怎么沒發(fā)現(xiàn)?不就是點一下 IE,幾秒鐘的事情?墒菃栴}沒這么簡單,用 IE 第一次訪問一切正常,問題出在后續(xù)的請求,通常是第三次請求。我們主要用的瀏覽器是 Chrome 與 Firefox,所以測試時,用 IE 打開一下,看沒問題就關(guān)掉了。)

出現(xiàn)“卡”的問題后,即使重新打開瀏覽器標簽也是同樣的問題,唯一的解決方法是退出整個IE,并重新打開。

問題奇怪之處

問題奇怪之一:服務(wù)器是微軟的 ASP.NET 環(huán)境,出問題的不是其他瀏覽器,而是微軟自己的 IE 瀏覽器。(想不通)

問題奇怪之二:IE 第一次請求不會出現(xiàn)問題,問題只出現(xiàn)在后續(xù)請求中。(難道與瀏覽器的Last-Modified有關(guān))

問題奇怪之三:同一臺服務(wù)器,有多個站點,只有這一個站點會出現(xiàn)這個問題。同一個站點(home.cnblogs.com),只有主頁與閃存相關(guān)頁面會出現(xiàn)這個問題。(可能是某個操作引起的)

問題奇怪之四:WebForms 與 MVC 都會出現(xiàn)這個問題。這個站點是 WebForms 與 ASP.NET MVC 的混合環(huán)境,出現(xiàn)問題的頁面是 WebForms 頁面,但這些頁面的 ajax 是請求由 MVC 處理的,也會有同樣的問題。(這個操作可能 WebForms 與 MVC 都會用到)

問題奇怪之五: Global.asax 中取消所有 MVC 的路由注冊(routes.MapRoute),問題就消失。(這個問題可能與WebForms 與 ASP.NET MVC 的混合環(huán)境有關(guān))

問題原因確認

為了確認這個問題是不是 .NET Framework 4.5 引起的?我們在測試環(huán)境中將 .NET Framework 4.5 卸載。這時遇到另一個郁悶的問題,卸載 .NET Framework 4.5 之后,.NET Framework 4.0 也沒了,更讓人郁悶的是 IIS 中所有使用 .NET Framework 4.0 的應(yīng)用程序池都被改為了 .NET Framework 2.0,這個卸載真“干凈”。安裝 .NET Framework 4.0  之后,問題立即消失;重新安裝 .NET Framework 4.5,問題立即出現(xiàn)。不管具體是哪個操作引起的,.NET Framework 4.5 是罪魁禍首。

問題處理

昨天一天的奮戰(zhàn)沒有找出具體是哪個操作引起的,今天繼續(xù)努力!

如果實在找不出,只能先卸載 .NET Framework 4.5,重新安裝 .NET Framework 4.0。

問題相關(guān)代碼

ASP.NET MVC 路由注冊代碼:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    routes.MapPageRoute("Default", "", "~/Default.aspx");
       
    routes.MapRoute(
        "DefaultMvcAjax",
        "ajax/{controller}/{action}/{id}",
        new { controller = "", action = "", id = "" }
    );
       
    routes.MapRoute(
        "IngMovileMvc",
        "ing/mobile/{action}/{ingListType}/{pageIndex}",
        new { controller = "IngMobile", action = "Home",
            ingListType = CNBlogs.UcHome.Entities.IngListType.all, pageIndex = 1 }
    );
       
    routes.MapRoute(
        "DefaultMvc",
        "{controller}/{action}/{id}",
        new { controller = "Msg", action = "List", id = "" }
    );
}

出現(xiàn)問題的訪問路徑:根路徑與 ing/default.aspx,這兩個路徑訪問的都是實際的 .aspx 文件。

    .net framework
    (10).net framework
    .是一個框架,包括公共語言運行時和.基本類庫,是用.語言編寫的程序運行的基本支撐。即要想在某臺計算機上運行.編寫的程序,必須事先要安裝.。你可以這么理解。就是一個中間件。這個中間件將.高級語言轉(zhuǎn)成機器語言。沒有.運行環(huán)境就不能運行不了.程序西西本頁提供.下載大全,,.版本怎么查看方法一第一步打開我的電腦,在地址欄輸入.第二步從列出來的文件夾中,我們可以看到......而這些目錄顯示的最高版本號即本機.版本號,也就是.的...更多>>
    net framework
    (13)net framework
    西西軟件園提供.....版本下載,是系統(tǒng)中一個非常重要的環(huán)境工具,如果缺少了,我們電腦中的大部分軟件以及游戲都不能夠運行,.版可再發(fā)行組件包將安裝運行針對.版開發(fā)的應(yīng)用程序時所需的.運行庫及相關(guān)文件。...更多>>
    • Microsoft .NET Framework 2.0 SP2

      07-14 / 23.2M

      推薦理由:.NET Framework 2.0 Service Pack 2 是專為解決客戶在 .NET Framework 2.0 發(fā)布后報告的問題而提供的累積更
    • .NET Framework2.0 安裝版

      05-15 / 23.9M

      推薦理由:Microsoft .NET Framework 2.0 版可再發(fā)行組件包將安裝運行針對 .NET Framework 2.0 版開發(fā)的應(yīng)用程序時所需
    • .NET Framework3.5 官方完整版

      05-15 / 197.1M

      推薦理由: .NET Framework 3.0 中增加了不少新功能,例如 Windows Workflow Foundation (WF)、Windows Communic
    • Microsoft .NET FrameworkV4.0 Fin

      05-15 / 35.3M

      推薦理由:Microsoft .NET Framework 版可再發(fā)行組件包將安裝運行針對 .NET Framework 版開發(fā)的應(yīng)用程序時所需的 .NET
    • Microsoft .NET Framework1.1簡體中

      03-07 / 21.4M

      推薦理由:.NET Framework 1.1 版可再發(fā)行組件包中包括您在運行那些使用 .NET Framework 開發(fā)的應(yīng)用程序時所需要的一切
    • Microsoft.NET Frameworks3.5 SP1

      05-15 / 2.9M

      推薦理由:前幾天隨著VS2008 SP1的發(fā)布,.NET Framework 3.5 SP1也來到了我們面前。 Microsoft .NET Framework 3.5

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(2)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)