2 yanglong925319 yanglong925319 于 2016.09.14 14:41 提问

spring.net 索引超出了数组界限。 10C

// Spring.Objects.Factory.Support.AbstractObjectFactory
public virtual string[] GetSingletonNames()
{
string[] result;
lock (this.singletonCache)
{
ICollection keys = this.singletonCache.Keys;
result = (string[])new ArrayList(keys).ToArray(typeof(string));
}
return result;
}

IndexOutOfRangeException
索引超出了数组界限。 在 System.Collections.ArrayList.ArrayListEnumeratorSimple.MoveNext()
在 System.Collections.Specialized.OrderedDictionary.OrderedDictionaryKeyValueCollection.System.Collections.ICollection.CopyTo(Array array, Int32 index)
在 System.Collections.ArrayList.InsertRange(Int32 index, ICollection c)
在 Spring.Objects.Factory.Support.AbstractObjectFactory.GetSingletonNames() 在

Spring.Objects.Factory.Support.DefaultListableObjectFactory.DoGetObjectNamesForType(Type type, Boolean includeNonSingletons, Boolean allowEagerInit) 在

Spring.Objects.Factory.Support.DefaultListableObjectFactory.GetObjectsOfType(Type type, Boolean includePrototypes, Boolean includeFactoryObjects) 在 Spring.Context.Support.AbstractApplicationContext.GetObjectsOfType(Type type, Boolean includePrototypes, Boolean includeFactoryObjects) 在 Spring.Context.Support.AbstractApplicationContext.GetObjectsOfType(Type type) 在 Spring.Web.Mvc.SpringControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType) 在 System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName) 在 Spring.Web.Mvc.SpringControllerFactory.CreateController(RequestContext requestContext, String controllerName) 在 System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory) 在 System.Web.Mvc.MvcHandler.<>c__DisplayClass6.b__2() 在 System.Web.Mvc.SecurityUtil.<>c__DisplayClassb1.<ProcessInApplicationTrust>b__a() 在 System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust[TResult](Func1 func) 在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

1个回答

maer2003
maer2003   2016.09.14 15:01

尝试下先调用Current(),返回为空,则不要再调用MoveNext(),试试。

yanglong925319
yanglong925319 是框架里面抛出来的错误,改起来比较麻烦,会不会是iis内存回收引起的?
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片