【发布时间】:2011-02-19 16:02:08
【问题描述】:
您好,我在调试网站上的问题时遇到问题。一切都在本地工作,本地和服务器数据库相同 该错误的奇怪之处在于它指向错误堆栈中我的本地开发机器。是疯了还是什么,文件已发布并托管在服务器计算机上,错误指向我本地开发盒上的一行代码。我觉得我正在失去剧情。有人可以帮忙清理一下这里的空气吗,因为这很奇怪
“/”应用程序中的错误。 指数超出范围。必须是非负数且小于集合的大小。 参数名称:索引 说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。 异常详细信息:System.ArgumentOutOfRangeException:索引超出范围。必须是非负数且小于集合的大小。 参数名称:索引 源错误: 在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。 堆栈跟踪: [ArgumentOutOfRangeException:索引超出范围。必须是非负数且小于集合的大小。 参数名称:索引] System.Collections.ArrayList.get_Item(Int32 索引)+10066148 System.Collections.Specialized.NameObjectCollectionBase.BaseGet(Int32 索引)+17 System.Web.HttpFileCollection.get_Item(Int32 index) +9 System.Web.HttpFileCollectionWrapper.get_Item(Int32 索引)+18 C:\Users\Bich Vu\Documents\Visual Studio 2008\Projects\PitchPortal\PitchPortal.Web\Binders\DocumentModelBinder.cs:73 中的 PitchPortal.Web.Binders.DocumentModelBinder.ValidateAndAssignPostedFile(ControllerContext controllerContext, ModelBindingContext bindingContext, Document doc) C:\Users\Bich Vu\Documents\Visual Studio 2008\Projects\PitchPortal\PitchPortal.Web\Binders\DocumentModelBinder.cs:45 中的 PitchPortal.Web.Binders.DocumentModelBinder.BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext, ParameterDescriptor parameterDescriptor) +404 System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext, ActionDescriptor actionDescriptor) +140 System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +658084 System.Web.Mvc.Controller.ExecuteCore() +125 System.Web.Mvc.c__DisplayClass8.b__4() +48 System.Web.Mvc.Async.c__DisplayClass1.b__0() +21 System.Web.Mvc.Async.c__DisplayClass8`1.b__7(IAsyncResult _) +15 System.Web.Mvc.Async.WrappedAsyncResult`1.End() +85 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +51 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +454 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +263
【问题讨论】:
-
如果你在本地机器上编译它,堆栈跟踪将显示源文件中的位置。该源代码甚至可能不在您的服务器上,您需要部署 DLL。
-
没有源代码的堆栈跟踪不是很有指导意义,您可以发布您的代码。当您将调试代码部署到其他机器上时,您经常会在堆栈跟踪中获得类似的文件引用,我认为编译 dll 的机器上的源路径存储在符号文件中。
标签: asp.net-mvc