запрос getHttp с использованием среды Net.Http, проблема статического назначения полей только для чтения - PullRequest
0 голосов
/ 05 марта 2019

Я действительно борюсь с этим фрагментом кода.Мы пытаемся связать нашу базу данных с частью единой игры.Я очень новичок в C #, возможно, через 4 недели, и я пытался с помощью документации API установить контакт с нашей базой данных.Это кусок кода:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.Net.Http;
using System.Threading.Tasks;
using System.Threading;
public class GollyAPICotroller
{
    //Intstantiate once our HTTPClient avoids overloading requests
    private static readonly HttpClient client;

    //Constructor method creates a new HttpClient

    public static async Task Main()
    {
        using(client = new HttpClient())
        {
            try
            {
                string responseBody = await client.GetStringAsync("http://google-auth-express-app.herokuapp.com/api/game?id=600");
                Console.WriteLine(responseBody);
                Console.WriteLine("responseBody");
            }
            catch(HTTPRequestException exception)
            {
                Console.WriteLine("Whoops!: {0}", exception.Message);
            }//catch
        }
    }

}//class GollyAPIController

Я получаю следующие ошибки:

GollyAPIController.cs (18,15): ошибка CS0198: Статическое поле только для чтениянельзя присвоить (кроме статического конструктора или инициализатора переменной) [C: \ Users \ Ivan Dewerpe \ Documents \ Group Project \ Group Project.csproj]

и

GollyAPIController.cs (26,19): ошибка CS0246: Не удалось найти тип или имя пространства имен «HTTPRequestException» (отсутствует директива using или ссылка на сборку?) [C: \ Users \ Ivan Dewerpe \ Documents \ Group Project \ Group Project.csproj]

Снова это может показаться очевидным для некоторых из вас, и я надеюсь, что это так, но я очень новичок в использовании VSCodeа также использование C # в качестве языка программирования.

Заранее благодарим за помощь!

1 Ответ

0 голосов
/ 05 марта 2019

Первая ошибка означает, что вы не можете установить значение client.

Согласно комментариям в вашем коде, вы должны создать конструктор, который инициализирует клиента.Вторая ошибка - опечатка в HTTPRequestException.это должно быть HttpRequestException.

Это может решить вашу проблему

public GollyAPICotroller()
{
    client = new HttpClient();
}

public static async Task Main()
{
        try
        {
            string responseBody = await client.GetStringAsync("http://google-auth-express-app.herokuapp.com/api/game?id=600");
            Console.WriteLine(responseBody);
            Console.WriteLine("responseBody");
        }
        catch(HttpRequestException exception)
        {
            Console.WriteLine("Whoops!: {0}", exception.Message);
        }//catch
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...