Esempio n. 1
0
 public void Execute(object parameter)
 {
     if (!canExecute)
     {
         return;
     }
     SetCanExecute(false);
     checker.RunAsync();
     Status = "帯域測定中";
 }
Esempio n. 2
0
        protected override async void OnInitialized(EventArgs e)
        {
            base.OnInitialized(e);
            Uri    target_uri;
            string uri_key;

            switch (NetworkType)
            {
            case NetworkType.IPv6:
                uri_key = "BandwidthCheckerV6";
                break;

            case NetworkType.IPv4:
            default:
                uri_key = "BandwidthChecker";
                break;
            }
            if (AppSettingsReader.TryGetUri(uri_key, out target_uri))
            {
                Status     = "帯域測定中";
                IsChecking = true;
                cancellationTokenSource = new CancellationTokenSource();
                var checker = new BandwidthChecker(target_uri, NetworkType);
                try {
                    var result = await checker.RunAsync(cancellationTokenSource.Token);

                    if (result.Succeeded)
                    {
                        Result = (int)((result.Bitrate / 1000) * 0.8 / 100) * 100;
                        Status = String.Format("帯域測定完了: {0}kbps, 設定推奨値: {1}kbps",
                                               result.Bitrate / 1000,
                                               (int)((result.Bitrate / 1000) * 0.8 / 100) * 100);
                    }
                    else
                    {
                        Status = "帯域測定失敗。接続できませんでした";
                    }
                }
                catch (OperationCanceledException) {
                    Status = "キャンセルされました";
                }
                IsChecking = false;
            }
            else
            {
                this.IsChecking = false;
                this.Status     = "接続先設定が取得できません";
            }
        }