0

I have a situation as below which gives me error and looks like timeout. Its missing some insert of records. the error is as below:

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

InnerException: [HttpRequestTimedOutWithoutDetail] Arguments: Debugging resource strings are unavailable. Often the key and arguments provide sufficient information to diagnose the problem. See http://go.microsoft.com/fwlink/?linkid=106663&Version=5.0.10411.00&File=System.ServiceModel.dll&Key=HttpRequestTimedOutWithoutDetail

at IdeaBlade.EntityModel.EntityServerProxy.<>c_DisplayClass14.b_13() at IdeaBlade.EntityModel.EntityServerProxy.ExecFunc[T](Func1 func, Boolean funcWillHandleException) at IdeaBlade.EntityModel.EntityServerProxy.ExecuteOnServer[T](Func1 func, Boolean funcWillHandleException) at IdeaBlade.EntityModel.EntityServerProxy.InvokeServerMethod(SessionBundle sessionBundle, ITypeWrapper entityManagerType, String typeName, String methodName, Object[] args) at IdeaBlade.EntityModel.EntityMa

Any Idea how to handle it? Thx:)

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

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

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

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

                                                        });

                    p.UpdateOrders(copyOrders);


                    Orders.Add(copyOrders);


                Save();
            });
Ting
  • 1,658
  • 16
  • 26
peter prova
  • 167
  • 1
  • 5
  • 10

3 Answers3

1

A timeout can happen at several places, so you will want to increase all possible timeout values.

In this case, you should be looking at increasing the query (CommandTimeout and Transaction), communication, and IIS executionTimeout.

DevForce has a documentation page that talks about troubleshooting timeouts. It's at http://drc.ideablade.com/devforce-2012/bin/view/Documentation/understand-timeouts.

I noticed that your nested query ("SalesGetSalesQuery") is a StoredProcQuery. There is an outstanding bug where StoredProcQueries are not respecting the Transaction timeout value, if different than the default. (120 seconds) We are working on a fix, but unfortunately there's no workaround in the meantime.

If it's not the StoredProcQuery that's timing out, then the link above will help you resolve it.

sbelini
  • 526
  • 3
  • 4
  • Thx sbelini,Yes as you see its a nested Async which the inner one im calling a stored procedure inside a loop.I tried different scenarios to bypass the problem sucha as Increasing SendTimeout in config files and....... which it didnt work. – peter prova Feb 04 '13 at 14:56
  • Is there another approach? – peter prova Feb 04 '13 at 15:15
0

Job number 1 is to increase the timeout period while you figure out what is taking so long.

This will help https://stackoverflow.com/questions/4877315/silverlight-4-ria-services-timeout-issues

Community
  • 1
  • 1
Silver Solver
  • 2,310
  • 1
  • 13
  • 19
  • Thanks but i am not using any services just accessing to entity (Customer),is there anyway to increase the time out? – peter prova Jan 30 '13 at 21:24
  • You are using a service, no doubt it was all generated though. The answer to increasing the timeout is in the linked post. There will be a class derived from DomainService somewhere just do a text search and you will find it. – Silver Solver Jan 30 '13 at 21:25
  • I found it on web.config and app.config and i chaned both to sendTimeout="00:10:00" still timeout comes:( – peter prova Jan 30 '13 at 21:53
0

I don't think that the issue is in the fact that the async calls are nested. Remember that the second (i.e. nested) async call will only be executed once the first completed.

What async call is timing out exacly? Is it the StoredProcQuery? (any of them since you're calling them in a loop) If yes, then it's an outstanding bug that we are working on fixing. Like I mentioned in the previous post, there is no workaround. However, since this particular storedProc takes a date range as arguments, one possibility would be 'breaking' this date range in smaller date ranges and issuing multiple async calls. (perhaps in a parallel coroutine) Not that this 'workaround' is not fail proof since all orders could be in a small range period and the async call for that particular range would still timeout.

sbelini.

sbelini
  • 526
  • 3
  • 4