Я изучаю базу данных 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