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

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

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

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

作者:佚名點(diǎn)擊:100次評(píng)論:2次標(biāo)簽: .NETFramework

.NET Framework2.0 安裝版
  • 類(lèi)型:編程控件大。23.9M語(yǔ)言:中文 評(píng)分:4.7
  • 標(biāo)簽:
立即下載

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

下面我們來(lái)一睹這個(gè)百年一遇的奇怪問(wèn)題。

問(wèn)題背景

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

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

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

問(wèn)題現(xiàn)象

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

用戶所說(shuō)的“很卡”究竟是什么樣一種情況,請(qǐng)看下圖:

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

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

(這時(shí)你也許會(huì)有疑問(wèn),這個(gè)問(wèn)題我們自己怎么沒(méi)發(fā)現(xiàn)?不就是點(diǎn)一下 IE,幾秒鐘的事情。可是問(wèn)題沒(méi)這么簡(jiǎn)單,用 IE 第一次訪問(wèn)一切正常,問(wèn)題出在后續(xù)的請(qǐng)求,通常是第三次請(qǐng)求。我們主要用的瀏覽器是 Chrome 與 Firefox,所以測(cè)試時(shí),用 IE 打開(kāi)一下,看沒(méi)問(wèn)題就關(guān)掉了。)

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

問(wèn)題奇怪之處

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

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

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

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

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

問(wèn)題原因確認(rèn)

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

問(wèn)題處理

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

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

問(wèn)題相關(guān)代碼

ASP.NET MVC 路由注冊(cè)代碼:

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)問(wèn)題的訪問(wèn)路徑:根路徑與 ing/default.aspx,這兩個(gè)路徑訪問(wèn)的都是實(shí)際的 .aspx 文件。

    .net framework
    (10).net framework
    .是一個(gè)框架,包括公共語(yǔ)言運(yùn)行時(shí)和.基本類(lèi)庫(kù),是用.語(yǔ)言編寫(xiě)的程序運(yùn)行的基本支撐。即要想在某臺(tái)計(jì)算機(jī)上運(yùn)行.編寫(xiě)的程序,必須事先要安裝.。你可以這么理解。就是一個(gè)中間件。這個(gè)中間件將.高級(jí)語(yǔ)言轉(zhuǎn)成機(jī)器語(yǔ)言。沒(méi)有.運(yùn)行環(huán)境就不能運(yùn)行不了.程序西西本頁(yè)提供.下載大全,,.版本怎么查看方法一第一步打開(kāi)我的電腦,在地址欄輸入.第二步從列出來(lái)的文件夾中,我們可以看到......而這些目錄顯示的最高版本號(hào)即本機(jī).版本號(hào),也就是.的...更多>>
    • Microsoft .NET FrameworkV4.0 Fin

      05-15 / 35.3M

      推薦理由:Microsoft .NET Framework 版可再發(fā)行組件包將安裝運(yùn)行針對(duì) .NET Framework 版開(kāi)發(fā)的應(yīng)用程序時(shí)所需的 .NET
    • Microsoft .NET Framework 2.0 SP2

      07-14 / 23.2M

      推薦理由:.NET Framework 2.0 Service Pack 2 是專(zhuān)為解決客戶在 .NET Framework 2.0 發(fā)布后報(bào)告的問(wèn)題而提供的累積更
    • .NET Framework3.5 官方完整版

      05-15 / 197.1M

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

      05-15 / 23.9M

      推薦理由:Microsoft .NET Framework 2.0 版可再發(fā)行組件包將安裝運(yùn)行針對(duì) .NET Framework 2.0 版開(kāi)發(fā)的應(yīng)用程序時(shí)所需
    • Microsoft.NET Frameworks3.5 SP1

      05-15 / 2.9M

      推薦理由:前幾天隨著VS2008 SP1的發(fā)布,.NET Framework 3.5 SP1也來(lái)到了我們面前。 Microsoft .NET Framework 3.5
    • .NET Framework 2.0 x64sp2 官方完

      08-16 / 45.1M

      推薦理由:Microsoft .NET Framework 2.0 版 (x64)可再發(fā)行組件包將安裝 .NET Framework 運(yùn)行庫(kù),以及運(yùn)行面向 .NET F
    net framework
    (13)net framework
    西西軟件園提供.....版本下載,是系統(tǒng)中一個(gè)非常重要的環(huán)境工具,如果缺少了,我們電腦中的大部分軟件以及游戲都不能夠運(yùn)行,.版可再發(fā)行組件包將安裝運(yùn)行針對(duì).版開(kāi)發(fā)的應(yīng)用程序時(shí)所需的.運(yùn)行庫(kù)及相關(guān)文件。...更多>>
    • Microsoft .NET Framework 2.0 SP2

      07-14 / 23.2M

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

      05-15 / 23.9M

      推薦理由:Microsoft .NET Framework 2.0 版可再發(fā)行組件包將安裝運(yùn)行針對(duì) .NET Framework 2.0 版開(kāi)發(fā)的應(yīng)用程序時(shí)所需
    • .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ā)行組件包將安裝運(yùn)行針對(duì) .NET Framework 版開(kāi)發(fā)的應(yīng)用程序時(shí)所需的 .NET
    • Microsoft .NET Framework1.1簡(jiǎn)體中

      03-07 / 21.4M

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

      05-15 / 2.9M

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

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過(guò)難過(guò)
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門(mén)評(píng)論

    最新評(píng)論

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

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