0

我有如下情况,这给了我错误,看起来像超时。它缺少一些记录插入。错误如下:

IdeaBlade.EntityModel.AsyncProcessor 1.Signal 1.<>c__DisplayClass2.<.ctor>b__0(TArgs args) at IdeaBlade.EntityModel.AsyncProcessor() 在 IdeaBlade.EntityModel.AsyncProcessor`1.b__5(Object x)

InnerException:[HttpRequestTimedOutWithoutDetail] 参数:调试资源字符串不可用。通常,关键和论据提供了足够的信息来诊断问题。请参阅http://go.microsoft.com/fwlink/?linkid=106663&Version=5.0.10411.00&File=System.ServiceModel.dll&Key=HttpRequestTimedOutWithoutDetail

在 IdeaBlade.EntityModel.EntityServerProxy.<> c_DisplayClass14.b _13() 在 IdeaBlade.EntityModel.EntityServerProxy.ExecFunc[T](Func 1 func, Boolean funcWillHandleException) at IdeaBlade.EntityModel.EntityServerProxy.ExecuteOnServer[T](Func1 func, Boolean funcWillHandleException) 在 IdeaBlade.EntityModel.EntityServerProxy.InvokeServerMethod(SessionBundle sessionBundle, ITypeWrapper entityManagerType, IdeaBlade.EntityModel.EntityMa 处的字符串类型名称、字符串方法名称、对象 [] 参数)

任何想法如何处理它?谢谢:)

              ......
            .ExecuteAsync(op =>
            {
                var cust =Customers.Where(p => p.IsSelected).ToList();

                           ..........................

                   Ships.ForEach(.......
                              ...........
                        EntityManager.SalesGetSalesQuery(
                         ..............
                        .ExecuteAsync(opn =>
                        {

                                 ................

                                                        });

                    p.UpdateOrders(copyOrders);


                    Orders.Add(copyOrders);


                Save();
            });
4

3 回答 3

1

超时可能在多个地方发生,因此您需要增加所有可能的超时值。

在这种情况下,您应该考虑增加查询(CommandTimeout 和 Transaction)、通信和 IIS executionTimeout。

DevForce 有一个文档页面,讨论超时故障排除。它位于http://drc.ideablade.com/devforce-2012/bin/view/Documentation/understand-timeouts

我注意到您的嵌套查询(“SalesGetSalesQuery”)是一个 StoredProcQuery。存在一个突出的错误,即 StoredProcQueries 不遵守事务超时值(如果与默认值不同)。(120 秒)我们正在努力修复,但不幸的是在此期间没有解决方法。

如果不是 StoredProcQuery 超时,那么上面的链接将帮助您解决它。

于 2013-02-02T00:01:19.160 回答
0

我不认为问题在于异步调用是嵌套的。请记住,第二个(即嵌套的)异步调用只会在第一个完成后执行。

什么异步调用正好超时?是 StoredProcQuery 吗?(它们中的任何一个,因为您在循环中调用它们)如果是,那么这是我们正在努力修复的一个突出的错误。就像我在上一篇文章中提到的那样,没有解决方法。但是,由于这个特定的 storedProc 将日期范围作为参数,因此一种可能性是在较小的日期范围内“打破”这个日期范围并发出多个异步调用。(可能在并行协程中)并不是说这种“解决方法”不是防故障的,因为所有订单都可能在一个小范围内,并且对该特定范围的异步调用仍然会超时。

斯贝里尼

于 2013-02-04T18:12:57.417 回答
0

工作编号 1 是增加超时时间,同时您要弄清楚什么需要这么长时间。

这将有助于https://stackoverflow.com/questions/4877315/silverlight-4-ria-services-timeout-issues

于 2013-01-30T21:14:39.117 回答