چگونه می توان خطای Operation is not valid due to the current state of the object را بررسی نمود؟

متن خطا:

System.InvalidOperationExceptionOperation is not valid due to the current state of the object.

System.InvalidOperationException: Operation is not valid due to the current state of the object.

   at System.Web.HttpRequest.FillInFormCollection()

   at System.Web.HttpRequest.get_Form()

   at Rhino.Commons.LongConversationManager.LoadConversationFromRequest(Boolean& privateConversation)

   at Rhino.Commons.LongConversationManager.LoadConversation()

   at Rhino.Commons.HttpModules.UnitOfWorkApplication.UnitOfWorkApplication_BeginRequest(Object sender, EventArgs e)

   at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()

   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynch

 

علت:

شرکت مایکروسافت در تاریخ 12-29-2011 یک آپدیت امنیتی برای .net  ارائه نمود که MS11-100 نام گرفت و جهت مقابله با حملات احتمالی ddos ارائه شده است.

متأسفانه این بسته امنیتی باعث بروز اختلال در بارگذاری صفحات با مقدار تراکنش بالا با دیتابیس میشود.

پکیج MS11-100 محدودیت 500 Post back  را اعمال مینماید. حداکثر تعداد post back در بسته امنیتی جدیدتر 1000 می باشد.

افزودن قطعه کد زیردر web.config  وب سایت مربوطه ، باعث رفع  این محدودیت و حل مشکل خواهد شد. به طور مثال در کد زیر مقدار این محدودیت به 2000 افزایش داده شده است.

 

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