0

Windows ユニバーサル アプリの概念実証を行い、Riot API データを呼び出して表示しようとしています。名前を入力するには、[送信] をクリックしてから、結果が下に表示されます。

**問題:**値の解析中に予期しない文字が検出されました: h. パス ''、行 0、位置 0

AND:この非同期メソッドには「await」演算子がなく、同期的に実行されます。「await」演算子を使用してノンブロッキング API 呼び出しを待機するか、「await Task.Run」を使用することを検討してください。

コード: public seal 部分クラス MainPage : Page {

    public MainPage()
    {
        this.InitializeComponent();
    }

    private void inputButton_Click(object sender, RoutedEventArgs e)
    {
        GetSumInfo(nameInput.Text).Wait();
    }
    private void nameInput_TextChanged(object sender, TextChangedEventArgs e)
    {

    }

    public async Task GetSumInfo(string nameInput)
    {


        using (var handler = new HttpClientHandler())
        using (var client = new System.Net.Http.HttpClient(handler))
        {
            var RitoKey = "FakeKEY";
            var iwantthisplayer = nameInput; 

            client.BaseAddress = new Uri("https://na.api.pvp.net/api/lol/na/v1.4/summoner/by-name/");
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            var CompleteUrl = ("https://na.api.pvp.net/api/lol/na/v1.4/summoner/by-name/" + iwantthisplayer + "?api_key=" + RitoKey);
            //var response = await client.GetAsync(CompleteUrl);
            TbOutput.Text = JsonConvert.DeserializeObject<dynamic>(CompleteUrl);



            //TbOutput.Text = JsonConvert.DeserializeObject<dynamic>(jsoncall);
            //TbOutput.Text = source;
        }

    }
    private void TbOutput_SelectionChanged(object sender, RoutedEventArgs e)
    {

    }
}
4

1 に答える 1

0

質問のこの部分について [AND: この非同期メソッドには「待機」演算子がなく、同期的に実行されます。「await」演算子を使用して非ブロッキング API 呼び出しを待機することを検討するか、「await Task.Run] 私の答えは、コードのこの部分を変更することです。

async private void inputButton_Click(object sender, RoutedEventArgs e)

    {
        await GetSumInfo(nameInput.Text);
    }
于 2016-04-10T19:10:02.620 に答える