0

私のアプリケーションは、HttpClientを使用していくつかのREST APIエンドポイントを利用しています。私のGetAsyncは、デバッグモードとリリースモードの両方で使用されているときに、完全に正常に動作しています。Xamarin.Android HttpClientリリース時にPostAsyncがキャンセルされる

リリースモードでAPIに大きな画像をPostAsyncしようとすると問題が発生します。 PostAsyncがキャンセルされ、WebExceptionが発生します(「タスクがキャンセルされました」というメッセージが表示されます)。私はコード内のどこにでもタスクをキャンセルしません。タイムアウトを増やしても動作しません - PostAsyncが起動してから約20秒後にエラーが発生します。

デバッグモードでは、PostAsyncは正常に動作し、適切な接続品質が存在する場合は数秒で画像をアップロードします。リリースで動作させるには、設定の共有ランタイム使用オプションをチェックする必要があります。

このような現象の原因は何ですか? Playストアでリリースする必要があるため、アプリケーションでShared Runtimeを使用したくありません。

ありがとうございました。

+0

dotnet用にOkHttp HttpClientを試しましたか? XamarinのHttpClientは壊れています。設定してもタイムアウトは考慮しません。 –

答えて

0

左側のソリューションエクスプローラの下を見ている場合は、[参照設定]を右クリックし、[参照の編集]を選択して[.NETアセンブリ]を選択し、dllを選択してプロジェクトに追加します。それが初めて追加されたとき、それは将来のプロジェクトの参考になるでしょう。

現在のプロジェクトで参照リストに追加する必要がない場合でも、通常のdllを追加して追加しました。 httpclientに対応するすべてのdllを追加する私のアプリはデバッグモードで正常に動作していたが、リリースされても動作しなかった。

関連する問題