Je crée une nouvelle application Xamarin Forms et j'utilise une application mobile Azure connectée à une base de données SQL Azure.Comportement starnge Linq et SQL Azure
Voici un code que j'ai écrit pour interroger une table:
IEnumerable<Club> clubs = await (from club in ClubManager.DefaultManager.ClubTable.CreateQuery()
where club.Nom.Contains(TexteRecherche)
select club).ToEnumerableAsync();
je reçois au hasard l'exception suivante:
The exception
Microsoft.WindowsAzure.MobileServices.MobileServiceInvalidOperationException occurred
HResult=0x80131509
Message=The request could not be completed. (Bad Request)
Source = <Unable to evaluate the source of the exception>
Procedural Call Tree:
à Microsoft.WindowsAzure.MobileServices.MobileServiceHttpClient.<ThrowInvalidResponse>d__24.MoveNext()
à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
à Microsoft.WindowsAzure.MobileServices.MobileServiceHttpClient.<SendRequestAsync>d__26.MoveNext()
à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
à Microsoft.WindowsAzure.MobileServices.MobileServiceHttpClient.<RequestAsync>d__18.MoveNext()
à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
à Microsoft.WindowsAzure.MobileServices.MobileServiceTable.<ReadAsync>d__20.MoveNext()
à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
à Microsoft.WindowsAzure.MobileServices.MobileServiceTable.<ReadAsync>d__18.MoveNext()
à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
à Microsoft.WindowsAzure.MobileServices.Query.MobileServiceTableQueryProvider.<Execute>d__8`1.MoveNext()
à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
à Microsoft.WindowsAzure.MobileServices.Query.MobileServiceTableQueryProvider.<Execute>d__7`1.MoveNext()
à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
à System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
à EagleGolf.CourseEditor.ViewModels.MainPageViewModel.<LitClubs>d__23.MoveNext() dans D:\Julien\MobileApps\EagleGolf.CourseEditor\EagleGolf.CourseEditor\EagleGolf.CourseEditor\ViewModels\MainPageViewModel.cs :ligne 107
build : `
Il est très étrange parce que je ferme et recommencer l'application et il fonctionne encore. Il peut travailler 2-3 fois, puis arrêter de travailler, puis travailler à nouveau.
Ma base de données contient seulement 1 table et ce tableau ne contient que 2 enregistrements ...
ce que vous utilisez pour votre accès aux données , vous devez le configurer pour être plus résilient aux problèmes de connectivité des données lors de l'utilisation de SQLAzure. Par exemple, avec Entity Framework, il existe une configuration de stratégie d'exécution spécifique pour SQLAzure: https://msdn.microsoft.com/en-us/library/dn456835(v=vs.113).aspx Pour d'autres options de récupération de données, vous aurez besoin de prendre des mesures similaires/w SQL Azure. –