Намалете времето за изчакване на MobileServiceClient InvokeAPI

Използвам Xamarin за свързване с мобилни услуги на Azure на Android и iOS. Когато имаме добра мобилна връзка, всичко е наред. Въпреки това, когато мобилната връзка е бавна, времето за изчакване по подразбиране от 60 секунди има отрицателно въздействие върху нашите потребители, тъй като може да отнеме толкова време, за да покаже на потребителя, че действието му не е приключило.

Въпросът ми е как да намаля времето за изчакване за InvokeAPI и MobileServiceClient?


person edp    schedule 20.04.2015    source източник


Отговори (1)


Трябва да замените времето за изчакване по подразбиране на Android и iOS HttpClient. Не е възможно да зададете времето за изчакване във вашия споделен код (PCL).

person thorsten    schedule 20.04.2015
comment
Благодаря. Но как предавате httpclient обект в MobileServicesClient? Нашият код конструира естествен манипулатор и го предава в: Mvx.RegisterType<IMobileServiceClient>(() => { ICustomHttpClient customHttpClient = Mvx.Resolve<ICustomHttpClient> (); HttpMessageHandler handler = customHttpClient.GetNativeHandler(); HttpMessageHandler[] handlerArray = new HttpMessageHandler[] { handler }; return new MobileServiceClient(ApplicationConstants.ApplicationUri, ApplicationConstants.ApplicationKey, handlerArray); } ); - person edp; 20.04.2015
comment
Не можете да го инжектирате директно в MobileServiceClient, тъй като е вътрешен клас (github.com/Azure/azure-mobile-services/blob/). MobileServiceClient използва специфичния за платформата HttpClient. Трябва да замените техните настройки за изчакване по подразбиране. В противен случай задайте таймаут на задачата в InvokeApiAsync. - person thorsten; 21.04.2015
comment
Предполагам, че въпросът ми е как да управлявате специфичния за платформата httpclient, за да замените тези настройки? - person edp; 21.04.2015
comment
Този блог трябва да описва как да получите информация за изчакване: blogs.msdn.com/b/henrikn/archive/2012/08/07/ Надявам се това да помогне! Хенрик - person Henrik Frystyk Nielsen; 22.04.2015