0

私は新しいXamarin Formsアプリケーションを作成しており、SQL Azureデータベースに接続されたAzure Mobile Appを使用しています。ここでLinqとSQL Azure starngeの動作

は、私は、テーブルを照会するために書いたコードです:

IEnumerable<Club> clubs = await (from club in ClubManager.DefaultManager.ClubTable.CreateQuery() 
          where club.Nom.Contains(TexteRecherche) 
          select club).ToEnumerableAsync(); 

私はランダムに次の例外を取得:私は閉じて再度アプリケーションを起動し、それが動作するので、それは非常に奇妙だ

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 : ` 

を再び。それは2〜3回働くことができ、その後仕事をやめ、再び働くことができます。

私のデータベースのみ1台が含まれており、このテーブルが唯一の2つのレコード... IMobileServiceTable表について

+0

SQLAzureを使用して操作する場合、データ接続の問題に対してより弾力性を持たせるように構成する必要があります。たとえば、Entity Frameworkには、SQLAzureの特定の実行戦略構成があります。https://msdn.microsoft.com/en-us/library/dn456835(v=vs.113).aspx他のデータ取得オプションについては、同様の手順/ w SQL Azureを取る必要があります。 –

答えて

0
IEnumerable<Club> clubs = await (from club in ClubManager.DefaultManager.ClubTable.CreateQuery() 
         where club.Nom.Contains(TexteRecherche) 
         select club).ToEnumerableAsync(); 

が含まれ、上記のクエリは、モバイルアプリのバックエンドに対して、次のリクエストを送信します:

Get https://{your-app-name}.azurewebsites.net/tables/{table-name}?$filter=substringof('{TexteRecherche}',Nom) 

メッセージ=要求を完了できませんでした。 (不正なリクエスト

私はあなたがFiddlerを活用し、以下のように関連するクエリを呼び出すときに、あなたのコードで確認することができると仮定:あなたは、データアクセスのために使用されている内容に応じて

enter image description here

関連する問題