The progress of the "one-time" strange problem: finding the cause, the Ajax request interruption finally solved the "one-time" strange problem: when ie met. NET Framework 4.5

Source: Internet
Author: User

Note: The problem has been solved. For details, refer to the solution to the "one time in a hundred years" strange problem.

Cause

After one day of fighting yesterday, I finally found the cause of the strange problem before dinner. (For details about the problem, see the previous blog post: a rare problem in a hundred years: When ie encounters. NET Framework 4.5)

The cause is: when the server is installed. after the Net Framework 4.5, in IE, if ASP. when the Ajax request processed by net MVC is not completed, the connection is interrupted (for example, F5 refresh the browser), and the subsequent request will be stuck.

Problem Verification

Use IE to Access Flash Memory (http://home.cnblogs.com/ing/), press F12 to open the developer tool, wait for all Ajax requests to be executed and then refresh the browser, the problem will not appear.

In the test environment, we cancel all Ajax requests and the problem will not occur.

Problem Analysis

Why does this problem occur when an Ajax request is interrupted?

My guess is: after an Ajax request is interrupted, the Server ASP.. Net Runtime is retained by the thread that processes the request (ie may continue to maintain the connection during refresh), and the subsequent request continues to be processed by this thread, so it gets stuck. Therefore, restarting IE will disappear because IE initiates a new connection and the server uses a new thread to process the connection. This also explains that the first request will never cause any problems.

The following is an analysis of the five strange points in the previous blog:

1."One of the strange problems:The server is Microsoft's ASP. NET environment. The problem is not other browsers, but Microsoft's own IE browser ."

Guess: When refreshing, ie may be treated differently from other browsers, and IE will continue to maintain the same HTTP connection. The Server ASP. NET runtime processes a thread that previously served the connection (possibly a change to. NET Framework 4.5 ).

2."Strange problem 2:The first request of IE will not be faulty, but the problem will only occur in subsequent requests ."

Because the problem only occurs in the request after the Ajax request is interrupted.

3."Strange problem 3:There are multiple sites on the same server. This problem occurs only on this site. For the same site (home.cnblogs.com), this problem only occurs on the homepage and flash-related pages ."

The problematic page has a special feature-there are many Ajax requests, and the problem may be related to the number of Ajax requests.

4."Strange Problem 4:Webforms and MVC both have this problem ."

The problem occurs when ASP. NET Runtime is used on the server to process the request. Therefore, it has nothing to do with webforms or MVC.

5."Strange Problem 5:In In global. asax, cancel all MVC route registration (routes. maproute), and the problem disappears ."

Because Ajax requests are handled by MVC, canceling the MVC route registration does not interrupt Ajax requests.

Continue to fight

Further efforts should be made to study the causes and solutions...

Latest Progress

After the Ajax request is processed from MVC to Web Service (. asmx), the problem no longer occurs. It can be seen that it has nothing to do with browsers and Js.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.