HttpClientを使用してWebリクエストを作成していますが、「タイムアウト」機能が含まれています。タイムアウト機能を除いて、すべて正常に機能します。
これは、リクエストが2〜3回ヒットしたときに「集約例外」をスローします([サインイン]ボタンをクリックしてリクエストがタイムアウトになるなど)。
例外を「キャッチ」しようとしましたが、機能しません。
使用したコード:
        try
        {
            HttpClient httpClient = new HttpClient();
           //explicit timeout for testing
           TimeSpan requestTimeout = new TimeSpan(1000);
            httpClient.Timeout = requestTimeout;
            HttpContent httpContent = new StringContent(postJSON);
            httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
            HttpResponseMessage response = null;
            response = await httpClient.PostAsync(url, httpContent);
            if (response != null)
            {
                response.EnsureSuccessStatusCode();
                netResults = await response.Content.ReadAsStringAsync();
                Logger.Log("NetworkRequest:ResponseStream:Json result:" + netResults);
            }
            if (this.convertedType != null)
            {
                MemoryStream assetReader = GetMemoryStreamFromString(netResults);
                assetReader.Position = 0;
                object value = fromJSON(assetReader, this.convertedType);
                networkReqSuccessWithObjectCallback(this, value);
            }
            else
            {
                //Return netResult as string.
                networkReqSuccessWithStringCallback(this, netResults);
            }
        }
        catch (TaskCanceledException)
        {
            ErrorException ee = null;
            ee = new ErrorException("RequestTimeOut");
            NotifyNetworkDelegates(ee);
        }
        catch (WebException we)
        {
            // failure
            ErrorException ee = null;
            ee = ErrorException.fromJSON(we.Message);
            NotifyNetworkDelegates(ee);
        }
        catch (Exception e)
        {
             Do something.
        }
ここで何が問題になっているのかについてのアイデア(C#+ XAML + Win8を使用)
