2012-01-23 46 views
20

Cố gắng gỡ lỗi ngẫu nhiên trên trang ASP.net khá phức tạp, có rất nhiều ADO.net MS-SQL là nơi tôi bắt đầu xử lý sự cố. Tuy nhiên, tôi chưa thể thu hẹp nó xuống. Điều thú vị là khi tôi gỡ lỗi mã cục bộ trong VS (đối với cùng một kết nối DB), tôi không gặp lỗi. Tuy nhiên, khi mã được chạy với IIS nó ném lỗi sau đây. Bất cứ ai cũng gặp bất cứ điều gì tương tự? LỗiLỗi ASP: Thao tác không hợp lệ do trạng thái hiện tại của đối tượng

Nguồn:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[InvalidOperationException: Operation is not valid due to the current state of the object.] 
System.Web.HttpValueCollection.FillFromEncodedBytes(Byte[] bytes, Encoding encoding) +11368719 
System.Web.HttpRequest.FillInFormCollection() +329 

[HttpException (0x80004005): The URL-encoded form data is not valid.] 
    System.Web.HttpRequest.FillInFormCollection() +11482818 
    System.Web.HttpRequest.get_Form() +157 
    System.Web.HttpRequest.get_HasForm() +11483620 
    System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) +141 
    System.Web.UI.Page.DeterminePostBackMode() +100 
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +259 

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272 

Trả lời

51

Nó có thể được liên quan đến this issue? Giải pháp được đề xuất là thêm thông tin sau vào web.config của bạn:

<appSettings> 
    <add key="aspnet:MaxHttpCollectionKeys" value="2000" /> 
</appSettings> 

Scott Gu cũng blogged về lỗ hổng này được phát hiện trong ASP.NET.

+0

Tôi sẽ không biết chắc chắn cho đến khi tôi quay lại đó, tuy nhiên tôi nghĩ đây là vấn đề vì trang rất phức tạp và tôi biết sysadmin vừa mới cập nhật máy chủ. Đây có phải là bản vá cho oracle padding khai thác không? –

+2

@bumble_bee_tuna, không, đây không phải là oracle đệm. Đó là một cái mới. –

+2

Wow, năm tồi tệ vì bảo mật ASP, lol. Cảm ơn vì cái nhìn sâu sắc có tiềm năng khiến tôi hơi đau đầu. Tôi sẽ đánh dấu là câu trả lời vì tất cả các dấu hiệu đều chỉ ra điều đó. Mã hoạt động tốt trong nhiều tháng, máy chủ vừa vá, trang phức tạp rất lớn. Cảm ơn một lần nữa Darin –

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