2012-07-17 16 views
0

在我的應用程序中,我有一個顯示記錄列表的頁面,每條記錄都有一個鏈接點擊該記錄的更多細節。它轉到另一個控制器。 讓我講一個序列。從'ToDoListSelect'控制器,它會轉到'ToDoList',點擊ToDoList鏈接後會轉到'Info'控制器。在我的開發機器上,一切工作正常,數據庫與服務器上的相同。 現在,我把軟件包放在服務器上,如果頁面上的記錄少於500個左右,它就可以正常工作。如果來自ToDoList的記錄更多,則它不會轉到Info,但會拋出異常,並且我看到它將轉到ToDoListSelect,這很奇怪。我不知道從哪裏開始尋找問題。有什麼建議麼?任何細節需要讓我知道。大型記錄ASP.Net MVC控制器路由

這裏是我的應用程序的路徑:

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
    routes.MapRoute("Default", // Route name 
     "{controller}/{action}/{id}", // URL with parameters 
     new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
    ); 
} 

protected void Application_Start() 
{ 
    AreaRegistration.RegisterAllAreas(); 
    RegisterGlobalFilters(GlobalFilters.Filters); 
    RegisterRoutes(RouteTable.Routes); 
} 

拋出的錯誤是:在 '/' 應用

服務器錯誤。 由於對象的當前狀態,操作無效。 描述:執行當前Web請求期間發生未處理的異常。請查看堆棧跟蹤以獲取有關此錯誤的更多信息,查看並確定錯誤源自代碼的位置。

異常詳細信息:System.InvalidOperationException:由於對象的當前狀態,操作無效。

源錯誤:

在當前的Web請求生成了未處理的異常的執行。關於異常的來源和位置的信息可以使用下面的異常堆棧跟蹤來標識。

[InvalidOperationException: Der Vorgang ist aufgrund des aktuellen Zustands des Objekts ungültig.] 
    System.Web.HttpRequest.FillInFormCollection() +11485999 
    System.Web.HttpRequest.get_Form() +157 
    Microsoft.Web.Infrastructure.DynamicValidationHelper.<>c__DisplayClass12.<ReplaceCollection>b__e() +63 
    Microsoft.Web.Infrastructure.DynamicValidationHelper.<>c__DisplayClass12.<ReplaceCollection>b__11() +20 
    Microsoft.Web.Infrastructure.DynamicValidationHelper.DeferredCountArrayList.get_Count() +20 
    System.Web.HttpRequest.ValidateNameValueCollection(NameValueCollection nvc, RequestValidationSource requestCollection) +34 
    System.Web.HttpRequest.get_Form() +212 
    System.Web.Mvc.FormValueProvider..ctor(ControllerContext controllerContext, IUnvalidatedRequestValues unvalidatedValues) +55 
    System.Web.Mvc.FormValueProviderFactory.GetValueProvider(ControllerContext controllerContext) +61 
    System.Web.Mvc.<>c__DisplayClassc.<GetValueProvider>b__7(ValueProviderFactory factory) +28 
    System.Linq.WhereSelectEnumerableIterator`2.MoveNext() +238 
    System.Linq.WhereSelectEnumerableIterator`2.MoveNext() +148 
    System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) +472 
    System.Linq.Enumerable.ToList(IEnumerable`1 source) +80 
    System.Web.Mvc.ValueProviderFactoryCollection.GetValueProvider(ControllerContext controllerContext) +347 
    System.Web.Mvc.ControllerBase.get_ValueProvider() +46 
    System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext, ParameterDescriptor parameterDescriptor) +80 
    System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext, ActionDescriptor actionDescriptor) +153 
    System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +691 
    System.Web.Mvc.Controller.ExecuteCore() +162 
    System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +305 
    System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +62 
    System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +20 
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +469 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +375 
+0

你可以請你把你的路線和任何可能已被拋出或記錄的錯誤消息。 – 2012-07-17 13:35:14

回答