私のアプリはHTTPS接続が必要なapiに接続します。
例外がスローされるまで、ModernHttpClients(NativeMessageHandler)は正常に動作します...
利用可能なWi-Fiがない場合、AndroidではUnknownHostExceptionがスローされます。 AndroidとiOSの両方で動作するキャッチを作ることは可能ですか? UnknownHostExceptionはJava.Netライブラリにあり、iOSプロジェクトでは使用できません。Xamarinフォーム:ModernHttpClientがPCLでエラー処理する
1
A
答えて
2
ネットワークエラーを処理するためのプラットフォームインターフェイス
try
{
var client = new HttpClient();
var result = await client.GetAsync("http://some-url.com");
}
catch (Exception e)
{
var platformErrorChecker = Mvx.Resolve<IPlatformNetworkError>();
if (platformErrorChecker.IsNetworkError(e))
{
// Handle network error
}
else
{
// Other exception, just throw
throw;
}
}
として定義されたサービス:
必要な場所あなたは具体的には、のみ、各プラットフォーム上で実装public interface IPlatformNetworkError
{
bool IsNetworkError(Exception e);
}
あなたは、例えば缶(この例ではMvvmCrossを使用して)のようなものを持っています。これは簡単な例ですが、各プラットフォームに特定のネットワークエラーに関する詳細情報を提供させることができます。
1
共有XamarinフォームコードでConnectivityPluginを使用して、リクエストを行う前にインターネット接続を確認できます。あなたは
if (CrossConnectivity.Current.IsConnected) {
// your logic...
} else {
// write your code if there is no Internet available
}
OR
は個人的に私はクロスを使用していhttp://www.c-sharpcorner.com/blogs/how-to-check-network-connectivity-in-xamarinforms
0
を参照してください、次のコードを使用してXamarin.Formsでネットワーク接続を確認するためにXam.Plugin.Connectivity NuGetパッケージを使用することができます
関連する問題
- 1. XamarinクロスプラットフォームPCL GetStringAsyncエラー
- 2. XamarinフォームAndroidキーイベント処理ページ:
- 3. xamarin PCLでWCFを使用:Androidで未処理の例外が発生する
- 4. xamarinフォームをpclターゲットに変更する
- 5. iTunes Connect "エラー" - Xamarin Forms PCL
- 6. SQLiteデータベースの接続エラーXamarinがpcl
- 7. 入力時のボーダー半径XamarinフォームPCL
- 8. Xamarin PCL
- 9. Xamarin PCL
- 10. XamarinフォームPCL - DatePickerがUWPで正しく開けない
- 11. XamarinフォームpclプロジェクトでHttpUtilityを使用する
- 12. Azure Mobile App for Xamarinフォームでユーザートークンを処理する方法は?
- 13. XAMARIN PCLコンプリートWCF
- 14. SQLiteのXamarin PCL
- 15. Xamarin PCLレンダリング
- 16. Xamarinフォームのエラー処理 - メッセージセンターアラートがデータストアから表示されない
- 17. Djangoフォームのエラー処理アーキテクチャ
- 18. rda.SocketsForPCLを実装するXamarinがPCL
- 19. 背景画像PCL xamarinフォームiOSが拡大しました
- 20. 動的フォームjqueryでのエラー処理
- 21. ReduxフォームでのAJAXエラーの処理
- 22. Xamarin PCLはIllegalStateExceptionアプリ
- 23. xamarinアンドロイドプロジェクトアクセスPCL機能
- 24. xamarin PCL Soap Webサービス
- 25. Xamarin pclクロスプラットフォーム印刷
- 26. PostAsJsonAsyncはXamarin PCLに
- 27. XamarinフォームはPCLプロジェクトを実行できません
- 28. XamarinフォームPCLプロジェクトにSystem.ServiceModel Nugetパッケージを追加できません
- 29. XamarinフォームZXingエラー
- 30. Xamarinフォーム:Toasts.Forms.Pluginエラー
実際にはモバイル接続があるが、それは薄れているなど、発生する可能性がある他のすべてのエラーを考慮しても、本当に素晴らしいソリューションです。あなたがあなたのものをやり始めるときに接続があるという事実は、あなたのものをやっている間にそこにとどまることを絶対に保証するものではありません。 –
絶対に真ですが、同じコンポーネントでは接続が変更されたときに処理するイベントも公開されるため、説明しているような状況に対処できるようにすることができます。 –
リクエストを実行しているときに接続が切断された場合は、ほとんど役に立ちません。私はあなたが接続を確認してはならないと言っているわけではありません - あなたはすべきです、そして、それは多くの問題を防ぎます。私は、接続の例外処理を実行する必要がなくなったと言っています。 –