组织比较多时进行代码调试用户登录报错
金蝶云社区-云小爱
云小爱
0人赞赏了该文章 1,192次浏览 未经作者许可,禁止转载编辑于2015年07月01日 12:22:06

现在碰到一个问题,客户是零售行业,门店都作为组织来进行管理,因此客户账套中的组织比较多,目前已经有将近2000个组织,并且给某个用户分配了所有组织的权限,目前客户有些问题需要我们进行调试,已经把账套发过来,但是在我们的开发环境上,只要使用这个用户登录就会报内存溢出的错误,把用户权限组织减少到200以下则没有问题,看详细信息估计是在登陆后加载权限的时候导致的,请总部的大师看看有没有办法进行优化,谢谢!详细的报错信息如下:

[{"operation":"BOS_MainConsoleSutra.CustomEvents"}]
发生时间:11:48:53
错误来源: mscorlib
错误信息:引发类型为“System.OutOfMemoryException”的异常。
===================================================
调用堆栈:

Server stack trace:
在 System.Collections.Generic.Dictionary`2.Resize(Int32 newSize, Boolean forceNewHashCodes)
在 System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
在 System.Collections.Generic.Dictionary`2.set_Item(TKey key, TValue value)
在 Kingdee.BOS.Core.Permission.PermissionProperties.GetStringObject(String strKey)
在 Kingdee.BOS.Core.Permission.PermissionProperties.GetStringObject(String strObjectId, String strInvName)
在 Kingdee.BOS.Core.Permission.PermissionProperties.AddAction(Dictionary`2 actions, PermissionAction action)
在 Kingdee.BOS.Core.Permission.PermissionProperties.PerformClassify(HashSet`1 permissionItemIds)
在 Kingdee.BOS.App.Security.Permission.PermissionLogic.CurrUserPermission(Int64 userId)
在 Kingdee.BOS.App.Security.Permission.PermissionLogic.GetPermissionActions(Int64 userId)
在 Kingdee.BOS.App.Security.Permission.PermissionLogic.CurrUserPermission(Int64 userId, IEnumerable`1 objectActions, PermissionType permissionType, Int64 curOrgId)
在 Kingdee.BOS.App.Security.Permission.PermissionLogic.GetAllowFuncList(Int64 userId, IEnumerable`1 objectActions, Int64 curOrgId)
在 Kingdee.BOS.App.Security.Permission.PermissionService.GetAllowFuncList(Context ctx, IEnumerable`1 objectActions, Int64 curOrgId)
在 Kingdee.BOS.App.Core.MainConsole.SystemMenuProxy.GetNormalUserFuncList(List`1 lstObjectAction)
在 Kingdee.BOS.App.Core.MainConsole.SystemMenuProxy.GetSubAdminsAndNormalUserFuncList(List`1 lstObjectAction)
在 Kingdee.BOS.App.Core.MainConsole.SystemMenuProxy.FilterDetailFuncByUserType(List`1 lstObjectAction)
在 Kingdee.BOS.App.Core.MainConsole.SystemMenuProxy.GetAllowDetailFunc(String strSubSystemId)
在 Kingdee.BOS.App.Core.MainConsole.SystemMenuProxy.GetDetailFuncFilter(String strSubSystemId)
在 Kingdee.BOS.App.Core.MainConsole.SystemMenuProxy.IsAuthorisedObjectItem(String objectId, MainCFilterParameter mainConsoleParam)
在 Kingdee.BOS.App.Core.MainConsole.SystemMenuProxy.IsAuthorisedObjectItem(String[] ids, String permissionItemId, String strSubSystemId, Boolean isOrgFilter)
在 Kingdee.BOS.App.Core.MainConsole.MainConsoleServer.GetSearchMenuData(Context ctx, String siteId, HashSet`1& subSystem, HashSet`1& allHasPermissionObjectTypes)

Exception rethrown at [0]:
在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
在 Kingdee.BOS.Contracts.IMainConsoleServer.GetSearchMenuData(Context ctx, String siteId, HashSet`1& subSystem, HashSet`1& allHasPermissionObjectTypes)
在 Kingdee.BOS.ServiceHelper.MainConsoleServerHelper.GetSearchMenuData(Context ctx, String siteId, HashSet`1& subSystem, HashSet`1& allHasPermissionObjectTypes)
在 Kingdee.BOS.Business.PlugIn.MainConsole.HomePageBase.GetSearchMenuData()
在 Kingdee.BOS.Business.PlugIn.MainConsole.HomePageSutra.setSearchMenuData()
在 Kingdee.BOS.Business.PlugIn.MainConsole.HomePageSutra.CustomEvents(CustomEventsArgs e)
在 Kingdee.BOS.Core.DynamicForm.PlugIn.DynamicFormViewPlugInProxy.FireCustomEvents(CustomEventsArgs e)
在 Kingdee.BOS.Web.DynamicForm.DynamicWebFormView.CustomEvents(String key, String eventName, String eventArgs)
在 Kingdee.BOS.Web.DynamicForm.DynamicWebFormController.CustomEvents(String key, String eventName, String eventArgs, JSONArray postDatas)
错误数据: System.Collections.ListDictionaryInternal

以上是错误信息,如果需要数据中心可以联系我,张兰华,13823722960,QQ:101574860