2013-04-05 27 views
7

Khi tôi tải url cho một ứng dụng khá lớn mà tôi đang thực hiện, tôi sẽ nói mọi lần tải lại ứng dụng 3-4 sẽ ngừng tải. Chrome báo cáo "yêu cầu gửi" ở phía dưới bên trái. Tôi dường như không thể xác định bất kỳ tập tin ngăn chặn của nó lên trên, nhưng thay vì tìm thấy chủ đề này:Chrome bị treo trên "yêu cầu gửi" dường như có liên quan đến ổ cắm

https://code.google.com/p/chromium/issues/detail?id=55046

đó cho thấy nó có thể là một vấn đề socket. Ổ cắm đỏ từ trang này (chrome: // net-internals/# sockets) ngay lập tức giải phóng trang và mọi thứ sẽ được tải bình thường. Dưới đây là một hình ảnh từ trang đó internals chrome

chrome internals socket page

Tôi nhận ra rằng điều này có thể thực sự là một lỗi chrome, nhưng trong khi chờ đợi, tôi cần khắc phục, vì người dùng đang đánh lỗi này trong chrome, và có thể' t tải ứng dụng. Ý tưởng?

+0

nào câu hỏi này cần một tiền thưởng lớn hơn? Mô tả tốt hơn về vấn đề này? Tôi vẫn bị kẹt ở đây- – chrismarx

+0

Đảm bảo máy chủ của bạn đang cung cấp tiêu đề nội dung có độ dài và EOF char '\ 0' ở cuối phần thân. Nếu điều đó không hiệu quả, hãy thử thay đổi khoảng thời gian chờ của máy chủ. Nó cũng có thể là một cái gì đó để làm với tiêu đề hết hạn nội dung. Chúc may mắn. –

+0

Tôi không sử dụng Chrom (ium) vì lý do này - tôi thường gặp lỗi này. Tôi muốn lưu ý rằng nếu tôi xem nhật ký truy cập apache trên trang web của mình, khi Chrome bị treo khi tải, Chrome có vẻ nghĩ rằng nó đã gửi yêu cầu, nhưng nó không hiển thị trong nhật ký. – artfulrobot

Trả lời

4

tôi biết 2 cách giải quyết, không ai là chính xác thuận tiện mặc dù:

  1. Disable SPDY: "...\chrome.exe" --use-spdy=off (tiếc là không có thể được thực hiện thông qua cờ)
  2. Disable Sync ("Cài đặt - Ngắt kết nối tài khoản Google của bạn")

Tùy chọn khác là giảm số lượng kết nối trong ứng dụng của bạn (phục vụ tất cả nội dung tĩnh từ 1 miền + 1 kết nối websocket cho tất cả liên lạc máy khách), và xóa tiện ích (twitter, disqus, v.v ... các phần) nếu có thể, có thể có hoặc không thể giúp xem xét hồ bơi ổ cắm được chia sẻ giữa tất cả các tab của Chrome: (

Cá nhân tôi gặp lỗi này xảy ra với các trang web ngẫu nhiên kể từ Chrome 21 và bị phản đối một chút do sự cố đặt lại hồ bơi :)

+0

Urgh, tốt, giảm kết nối là điều duy nhất tôi nghĩ ra, tốt khi biết đó là những gì người khác đang làm quá- – chrismarx

+0

Ok, cho bất kỳ ai khác đến bài đăng này, cuối cùng tôi đã giải quyết vấn đề này bằng cách giảm số lượng chuyển hướng được thực hiện bởi ứng dụng của tôi. Chúng tôi đã có một số hình ảnh được tải từ cùng một miền, nhưng bối cảnh gốc khác nhau và các chuyển hướng đó đang chồng chất và dường như ngừng hoạt động ứng dụng – chrismarx

+0

Tôi chưa thiết lập đồng bộ hóa, lỗi vẫn hiển thị. – artfulrobot

1

Sau khi đề xuất của bạn về hình ảnh đang được chuyển hướng và sử dụng Fiddler2 Tôi thấy rằng tôi cũng có rất nhiều chuyển hướng trong hình ảnh. Trong trường hợp của tôi, tôi có quy tắc viết lại trong ASP.NET MVC làm giảm URL của chúng tôi. Đây cũng là trường hợp cho các thư mục dự án của chúng tôi, trong trường hợp này, thư mục chứa hình ảnh, ví dụ: URL/Images/OurLogo.png đã trở thành url/images/ourlogo.png.

Thay đổi quy tắc viết lại của chúng tôi bao gồm các dòng sau trong thẻ điều kiện, đã giải quyết vấn đề này:

<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 

Full quy tắc viết lại để tham khảo:

<rule name="Convert to lower case" stopProcessing="true"> 
    <match url=".*[A-Z].*" ignoreCase="false" /> 
    <conditions> 
    <add input="{REQUEST_METHOD}" matchType="Pattern" pattern="GET" ignoreCase="false" /> 
    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
    </conditions> 
    <action type="Redirect" url="{ToLower:{R:0}}" redirectType="Permanent" /> 
</rule> 
Các vấn đề liên quan