是否可以在web.config中设置ObjectContext.CommandTimeout?
问题描述:
我正在使用实体框架的Silverlight项目。当查询需要几秒钟时,服务超时并且应该返回类似3MB的数据。是否可以在web.config中设置ObjectContext.CommandTimeout?
我发现我可以在domanincontext的构造函数中放入类似this.ObjectContext.CommandTimeout = NNN,但是我想知道是否可以将它放在web.config中?
任何帮助将不胜感激。
答
我不认为有可能在config中设置某些东西,并让它自动拾取。你可以做的是添加一个自定义属性到配置并阅读它并将ObjectContext.CommandTimeout
设置为您读取的值。试图找出为什么你得到超时,并试图解决这个问题会更好。我认为默认超时时间是30秒,因此您的查询可能需要更多。也许你不需要所有的数据(如果是人类3MB +似乎需要消耗和理解大量数据)?
感谢您的回复。你的假设是正确的,这不是一个超时问题。我们发现问题在于序列化程序的大小限制。序列化程序返回的行/对象太多。增加web.config中的大小限制解决了问题。 – Peaceman71