2009-02-25 37 views
18

Tôi nhận được lỗi chế độ xem không hợp lệ đối với ScriptResource.axd. Chỉ cần tự hỏi nếu có ai trong các bạn có thể giúp tôi về điều này. Lỗi là:Lỗi chế độ xem không hợp lệ

2009-02-24 09:46:30,021 [13] DEBUG ASP.global_asax [(null)] - Request start - URL: /Web/ScriptResource.axd?d=E9hlvtsn8Gr1MyjysW1gFDFYr4CVwstY-sC22tRu5V8d7UyEYz3FhVYGrlhY87n2ihgKh58RrMRhK-Yk2WcQahEaCg_asTInqHK 
2009-02-24 09:46:30,021 [13] DEBUG ASP.global_asax [(null)] - Application_AuthenticateRequest started 
2009-02-24 09:46:30,021 [13] ERROR ASP.global_asax [(null)] - Unexpected error. User presented with Site Error page. 
System.Web.HttpException: Invalid viewstate. 
    at System.Web.UI.Page.DecryptStringWithIV(String s, IVType ivType) 
    at System.Web.UI.Page.DecryptString(String s) 
    at System.Web.Handlers.ScriptResourceHandler.DecryptParameter(NameValueCollection queryString) 
    at System.Web.Handlers.ScriptResourceHandler.ProcessRequestInternal(HttpResponse response, NameValueCollection queryString, VirtualFileReader fileReader) 
    at System.Web.Handlers.ScriptResourceHandler.ProcessRequest(HttpContext context) 
    at System.Web.Handlers.ScriptResourceHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext context) 
    at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Điều này xảy ra trong môi trường sản xuất. Tôi không thể tái tạo điều này trong môi trường thử nghiệm và không. Ngoài ra, các trang này chỉ có thể được truy cập bởi người dùng được xác thực. Nó sẽ thực sự là nếu bạn có thể làm sáng tỏ vấn đề này.

+0

Bạn đang sử dụng một trang trại Web trong sản xuất của bạn môi trường? –

Trả lời

1

Tôi khuyên bạn nên xem this ... về cơ bản, nó phác thảo một số trường hợp điều này có thể xảy ra tùy thuộc vào loại tài liệu. Chúng tôi đã có một vấn đề tương tự, và nó dường như chỉ hiển thị thất thường ... đối với chúng tôi nó là một cuộc xung đột giữa DOCTYPE của chúng tôi XHTML và javascript chúng tôi đã có trên trang. Chúng tôi đã có thể giải quyết nó bằng cách đảm bảo rằng tất cả javascript của chúng tôi được gói chính xác trong các thẻ.

<script> 
    mycode; 
</script> 

sẽ trở thành

<script> 
// <![CDATA[ 
    mycode; 
// ]]> 
</script> 

này có thể không là một vấn đề giống hệt nhau, nhưng nếu bạn có một DOCTYPE xhtml, xem xét để xem nếu bạn có ký tự unescaped mà không phải là XML pháp lý ở đâu đó (chẳng hạn như ' < 'ký tự).

0

Điều này có thể xảy ra nếu machineKey của nhóm ứng dụng nhận yêu cầu cho scriptresource.axd khác với yêu cầu của nhóm ứng dụng đã phân phát trang gốc. Điều này rất có thể nếu bạn đang sử dụng một trang trại. Nó cũng có thể xảy ra trên một máy chủ duy nhất nếu nhóm ứng dụng khởi động lại, vì một khóa máy mới sẽ được tạo. Giải pháp cho một trong hai là đặt một machineKey cố định trong web.config của bạn.

2

Như đã nói, điều này có thể xảy ra nếu bạn đang sử dụng Trang trại Web và các phím máy không đồng bộ.

Một khả năng khác là ngày lắp ráp trong tương lai. Điều này dẫn đến tất cả các loại vấn đề tối nghĩa và đáng để kiểm tra. Có thể máy chủ của bạn đang ở múi giờ khác?

0

Tôi đã nhận thấy rằng Firefox 3.1 Beta gây ra lỗi không hợp lệ của ViewState. Bạn có thể muốn xem lại nhật ký của mình để xem trình duyệt nào đang được sử dụng khi các lỗi này xảy ra.

+0

Xin chào Matt, Có, tôi đã xem lại nhật ký. Đã xảy ra với IE8, IE7 và cả FF3. Vì vậy, thật khó để tin rằng đó là một vấn đề cụ thể của trình duyệt. Tôi vẫn đang đào bới :) Cảm ơn! – CH81

0

Lỗi tương tự ở đây cho Tác nhân người dùng: Mozilla/4.0 (tương thích; MSIE 7.0; AOL 9.0; Windows NT 6.0; Trident/4.0; GTB5; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0;. NET CLR 3.5.30729; .NET CLR 3.0.30618)

tôi đã cố gắng sửa đổi/loại bỏ tuyên bố DOCTYPE và cong vênh javascript trong // < [CDATA [và vẫn có những ngoại lệ ...

Đối với! thời điểm tất cả đến từ cùng một IP

+0

(Đó là lỗi IE8 tương tự. Lưu ý "Trident/4.0" trong chuỗi UA). – EricLaw

0

Tôi nhận được cùng một lỗi, chúng thực sự chỉ mới bắt đầu trong một hoặc hai tháng trước ning trên một vài trang web của chúng tôi và chúng tôi đã không thay đổi bất kỳ trang web nào kể từ tháng 12. Điều này làm cho tôi nghĩ rằng một thay đổi cấu hình hoặc cập nhật cửa sổ đang ảnh hưởng đến nó.

0

Trạng thái chế độ xem lớn bao nhiêu? Một số máy chủ proxy sẽ cắt bớt trạng thái chế độ xem lớn.

Dễ dàng lạm dụng viewstate vì nó được bật theo mặc định. Nếu bạn có một viewstate lớn thì bạn có thể muốn xem xét vô hiệu hóa trạng thái xem trên các điều khiển mà không cần nó.

1

MS recommends không khai báo bộ ký tự của bạn bằng thẻ meta và đặt nó làm tiêu đề HTTP thay thế.

Vì vậy, loại bỏ

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">

và thêm

Response.AddHeader("Content-Type", "text/html; charset=utf-8");

+0

Điều đó sẽ giúp ích cho một số người, nhưng không phải tất cả các trường hợp. – EricLaw

5

Tôi nghĩ rằng các lỗi này xảy ra với các trình duyệt khác nhau vì những lý do khác nhau, đó là những gì làm cho nó khó khăn như vậy để theo dõi.

IE8 Bug

Microsoft đã cho biết một lỗi trong IE8 sẽ (trong một số trường hợp) tạo yêu cầu giả mạo đến máy chủ, mà không ảnh hưởng đến người dùng nhưng đừng dẫn đến sai sót được ghi lại ở phía máy chủ.

Xem thảo luận này ở đây: Bug IE8 – 4K dropped - "Invalid viewstate" when loading ScriptResource.axd(chỉnh sửa: liên kết với doanh nghiệp yêu cầu đăng nhập đối với một số lý do, xin lỗi)

... đặc biệt là cập nhật EricLaw-MSFT khi ông nói:

Đó là giá trị đề cập rằng bất kỳ ai đang gặp sự cố ở đây trong IE6/IE7 hoặc Firefox đang gặp sự cố khác không liên quan đến vấn đề IE8 được mô tả bên dưới.

bài viết trên blog này cũng mô tả các lỗi: Bugs in IE8's Lookahead Downloader

Họ nói thay đổi cách bạn thiết lập Content-Type sẽ giúp đỡ với một số lỗi, mặc dù không phải tất cả trong số họ - họ nói nó được gây ra bởi nhiều những hoàn cảnh mơ hồ mà họ vẫn đang xem xét.

Cập nhật: Kể từ ngày 01/04/2010, các lỗi IE8 này đã được khắc phục, thông qua Cập nhật tích lũy IE8 (KB980182).
Bài đăng này: IE8 Lookahead Downloader Fixed cung cấp thêm thông tin chi tiết về lỗi và các giải pháp khác có thể/một phần (ví dụ: this one) ngoài việc chờ mọi người trên thế giới tải xuống bản sửa lỗi.

Các trình duyệt khác

Chưa figured it out, nhưng các trình duyệt khác cũng đang tạo ra các lỗi này, có lẽ vì những lý do khác nhau.

Web Farms

Vấn đề này không chỉ giới hạn đến các trang web chạy trên các trang trại web, nhưng nếu bạn đang chạy một trang trại, kiểm tra this answer by jesal có thể giúp

Các vấn đề liên quan