用ECO开发的一个多层架框碰到一些问题,请大家指教...

wendaluo 2006-12-29 11:08:05
大家好,我的一个系统最近在运行时会出现以下这几个错误,大家帮忙看看是什么原因造成的:

系统环境如下:
服务端:使用ECOIII技术,C#Builder2006,DotNet1.1
客户端:VS2005开发的WinForm及Web界面,DotNet2.0
使用Remoting通讯
使用SQLServer2005数据库
DotNet1.1和2.0的补丁已打到最新的
服务器使用Windows2003,IIS6

//系统日志一:
//*******************************************
Timestamp: 2006-12-24 20:07:14
Message: 客户:空的登陆名
System.InvalidOperationException: 此 SqlTransaction 已完成;它再也无法使用。

Server stack trace:
在 System.Data.SqlClient.SqlTransaction.ZombieCheck()
在 System.Data.SqlClient.SqlTransaction.Commit()
在 Borland.Eco.Persistence.Connection.AbstractIQueryImpl.InternalClose()
在 Borland.Eco.Persistence.Connection.AbstractIDatabaseImpl.ReleaseQuery(IQuery query)
在 Borland.Eco.Internal.TBoldSystemPersistenceMapper.PMFetchClassWithCondition(IDatabaseCollection Databases, ObjectIdList& ResultList, AbstractCondition BoldCondition, Int32 MaxResults, Int32 Offset)
在 Borland.Eco.Internal.TBoldPersistenceControllerDefault.FetchIDListWithCondition(IDatabaseCollection databases, AbstractCondition Condition, ObjectIdList& ResultList, Int32 MaxResults, Int32 Offset)
在 Borland.Eco.Persistence.PersistenceMapperDb.PersistenceMapperAdapter.Borland.Eco.Persistence.IPersistenceMapper.FetchIDListWithCondition(AbstractCondition condition, ObjectIdList& result, Int32 maxResults, Int32 offset)
在 Borland.Eco.Internal.TBoldSystemPersistenceHandler.GetAllWithCondition(AbstractCondition Condition, Int32 MaxAnswers, Int32 Offset)
在 Borland.Eco.Services.Impl.PersistenceServiceImpl.GetAllWithCondition(AbstractCondition condition, Int32 maxAnswers, Int32 offset)
在 Borland.Eco.Internal.TBoldOclPsService.Execute(IElement root, IExternalVariableList variableList, String expression, Int32 maxAnswers, Int32 offset)
在 ManageOrganization.Party.GetOperatingScopeList() 位置 f:\我的文档\Borland Studio Projects\10178\Porjects\ManageOrganization\Party.cs:行号 202
在 AppCommonFacades.PermissionHelperFacade.set_LoginAccount(UserAccount value) 位置 d:\10178_Esales\ESalesFacades\AppCommonFacades\PermissionHelperFacade.cs:行号 47
在 AppControllerFacades.OrganizationControllerFacade.Login(UserAccount anUserAccount, String aPassword, String aMAC, String aIP) 位置 d:\10178_Esales\ESalesFacades\AppControllerFacades\OrganizationControllerFacade.cs:行号 126
在 AppControllerFacades.OrganizationControllerFacade.Login(String aLoginName, String aPassword, String aMAC, String aIP, String[] aCategorys) 位置 d:\10178_Esales\ESalesFacades\AppControllerFacades\OrganizationControllerFacade.cs:行号 179
在 System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
在 System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(RuntimeMethodHandle md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
在 System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)
//*******************************************

//系统日志二:
//*******************************************
Timestamp: 2006-12-27 14:54:30
Message: 客户:danshen
System.InvalidOperationException: 哈希表插入失败。加载因子太高。
在 CustomExceptionHandler.CustomException(Exception ErrorInfo)
//*******************************************

//系统日志三:
//*******************************************
Timestamp: 2006-12-25 20:31:04
Message: 客户:空的登陆名
System.NullReferenceException: 未将对象引用设置到对象的实例。

Server stack trace:
在 AppOrgFacades.UserAccountFacade.GetOrganizationImpl(UserAccount anUserAccount) 位置 d:\10178_Esales\ESalesFacades\AppOrgFacades\UserAccountFacade.cs:行号 145
在 AppControllerFacades.OrganizationControllerFacade.Login(String aLoginName, String aPassword, String aMAC, String aIP, String[] aCategorys) 位置 d:\10178_Esales\ESalesFacades\AppControllerFacades\OrganizationControllerFacade.cs:行号 179
在 System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
在 System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(RuntimeMethodHandle md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
在 System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)

Exception rethrown at [0]:
在 CustomExceptionHandler.CustomException(Exception ErrorInfo)
//*******************************************

各种日志产生的后果表现如下:
系统日志一:当发生这种错误后,所有的客户端程序都不能使用,抛出这个异常。只能把服务程序重启。
系统日志二:当发生这种错误后,web上的部份界面会抛出这个异常,WinForm客户端能正常使用,把IIS的应用程序池回收一下就正常了。
系统日志三:当发生这种错误后,WinForm客户端能正常使用,但web上的数据乱了,看起来有点象ECOSpace的对象乱了。在web客户端,公用一个ECOSpace来处理查询请求,当客户发生提交数据请求时,临时产生一个ECOSpace。发生这种情况时,用户取到的对象列表乱了,比如用同样的条件,原来可以取到10个对象的,这时只能取到1个或者根本就没有。重启服务程序后正常。

另外,这三种情况不定期的发生,也不会很频繁,大概每隔1-2天会有一种情况发生,不知道各位有没有碰到过类似的问题。特请大家指教,这些问题是由什么产生的。

根据不同的异常,到MS官方找到一些修复的文章,解决的办法是说打上DotNET1.1或2.0及SQLServer2005的补丁,但是我打完后问题依旧存在。

急盼各位的帮助!

...全文
289 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
StarCraftPJF 2007-04-19
  • 打赏
  • 举报
回复
学习……
yzh_888 2007-04-19
  • 打赏
  • 举报
回复
Delphi ECO专用群 30717960

专业讨论模型驱动开发,领域驱动开发,O/R映射, Eco 和 Nhibernate为实践工具
ltc31 2007-04-08
  • 打赏
  • 举报
回复
up

*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
ltc31 2007-04-08
  • 打赏
  • 举报
回复
up

*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
ylqmf 2007-04-03
  • 打赏
  • 举报
回复
up

684

社区成员

发帖
与我相关
我的任务
社区描述
智能路由器通常具有独立的操作系统,包括OpenWRT、eCos、VxWorks等,可以由用户自行安装各种应用,实现网络和设备的智能化管理。
linuxpython 技术论坛(原bbs)
社区管理员
  • 智能路由器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧