Firesharp: во время выполнения запроса произошла ошибка.Путь: 0 /, Метод: PUT - PullRequest
1 голос
/ 29 апреля 2019

Я изучаю базу данных Firebase Realtime (RTDB) с C # и пробую среду Firesharp в консольном приложении .NET. Я ознакомился с большинством онлайн-руководств по началу работы, но не смог опубликовать какие-либо данные на моем RTDB. Я получаю эту ошибку на AddData().Wait():

Сгенерировано исключение System.AggregateException

"Произошла одна или несколько ошибок. (Произошла ошибка при выполнении запроса. Путь: 0 /, Метод: PUT)"

Моя реализация выглядит так:

class Program
{
    static IFirebaseConfig config = new FirebaseConfig
    {
        AuthSecret="MY_AUTH_SECRET",
        BasePath="https://MY_APP.firebaseio.com/"
    };

    static IFirebaseClient client;

    static void Main(string[] args)
    {
        Console.WriteLine("Hello World!");
        client = new FireSharp.FirebaseClient(config);

        if (client != null)
        {
            Console.WriteLine("Connection established!");
            AddData().Wait(); //Crashed here with above error
        }
    }

    public static async Task AddData() 
    {
        var data = new Data
        {
            id = "Hello",
            text = "World"
        };

        SetResponse response = await client.SetAsync("0/", data);
        Data result = response.ResultAs<Data>();
    }
}

Я довольно новичок в C #, поэтому, пожалуйста, совет, где я ошибся.

PS: я использую VS на Mac и, следовательно, не пишу приложение для проверки формы.

РЕДАКТИРОВАТЬ: Полный журнал ошибок:

System.AggregateException: «Произошла одна или несколько ошибок. (Ошибка произошло при выполнении запроса. Путь: 0, Метод: PUT) "---> System.Exception {FireSharp.Exceptions.FirebaseException}: «Ошибка произошло при выполнении запроса. Путь: 0, Метод: PUT "---> System.Exception {System.IO.FileNotFoundException}: «Не удалось загрузить файл или сборка 'System.Security.Permissions, версия = 0.0.0.0, Культура = нейтральная, PublicKeyToken = cc7b13ffcd2ddd51 '. Система не может найти указанный файл. \ n "

at at Newtonsoft.Json.Serialization.JsonTypeReflector.get_DynamicCodeGeneration () \ п в Newtonsoft.Json.Serialization.JsonTypeReflector.get_ReflectionDelegateFactory () \ п в Newtonsoft.Json.Serialization.DefaultContractResolver.GetDefaultCreator (Тип создал тип) \ n в Newtonsoft.Json.Serialization.DefaultContractResolver.InitializeContract (JsonContract контракт) \ n на Newtonsoft.Json.Serialization.DefaultContractResolver.CreateObjectContract (Тип objectType) \ n в Newtonsoft.Json.Serialization.DefaultContractResolver.CreateContract (Тип objectType) \ n в Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveContract (Тип тип) \ n в Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize (JsonWriter jsonWriter, значение объекта, тип objectType) \ n в Newtonsoft.Json.JsonSerializer.SerializeInternal (JsonWriter jsonWriter, значение объекта, тип objectType) \ n в Newtonsoft.Json.JsonConvert.SerializeObjectInternal (значение объекта, тип тип, JsonSerializer jsonSerializer) \ n в FireSharp.RequestManager.PrepareRequest (метод HttpMethod, Uri uri, Полезная нагрузка объекта) \ n в FireSharp.RequestManager.RequestAsync (метод HttpMethod, путь строки, QueryBuilder queryBuilder, полезная нагрузка объекта)

--- конец трассировки стека внутренних исключений --- в FireSharp.RequestManager.RequestAsync (метод HttpMethod, путь строки, QueryBuilder queryBuilder, полезная нагрузка объекта) \ n в FireSharp.FirebaseClient.SetAsync [T] (путь строки, данные T) \ n в FiresharpTest.Program.AddData () в /Users/MYNAME/Desktop/C#Projects/FiresharpTest/FiresharpTest/Program.cs:40

--- Конец внутренней трассировки стека исключений --- в System.Threading.Tasks.Task.Wait (Int32 millisecondsTimeout, CancellationToken) CancellationToken) \ n в System.Threading.Tasks.Task.Wait () \ n в FiresharpTest.Program.Main (String [] args) в /Users/MYNAME/Desktop/C#Projects/FiresharpTest/FiresharpTest/Program.cs:28

1 Ответ

0 голосов
/ 09 мая 2019

Хорошо, проблема в том, что у меня установлено два пакета Nuget, Firesharp и Firesharp.Serialization.JsonNet.

Я удалил Firesharp, а затем внес поправки в мою функцию AddData(), и все заработало.

public static async Task AddData() 
{
    var data = new Data
    {
        id = "Hello",
        text = "World"
    };

    SetResponse response = await client.SetTaskAsync("0", data); //Change to SetTaskAsync here
    Data result = response.ResultAs<Data>();
}
...