GraphQL.Client System.NullReferenceException

Впервые в GraphQL. Использование библиотеки GraphQL.Client в консольном приложении c # .net core 3.1.

Я пытаюсь заставить подписку работать и каждый раз получаю следующее:

Я могу заставить запрос работать, поэтому я знаю, что правильно добавил заголовок auth в свой клиент GraphQL.

Оскорбительный фрагмент кода: (фактически скопирован / вставлен из того, что я нашел).

Документация тоже выглядит очень простой реализацией:

https://github.com/graphql-dotnet/graphql-client

      private IDisposable CreateSubscription()
        {
            var thisRequest= SubscriptionCreator.CreateMessageUpdatedRequest(DateTime.Now);    
            var stream = GraphClient.CreateSubscriptionStream<MessageUpdted>(thisRequest);

            return stream.Subscribe(
                response => Console.WriteLine($"{response.Data.messageUpdated.id}"),
                exception => Console.WriteLine($"{request.OperationName}: message subscription stream failed: {exception}"),
                () => Console.WriteLine($"{request.OperationName}: message subscription stream completed"));

        }

Некоторые примеры моделей:

      public class MessageUpdated
    {
        public MessageUpdate messageUpdated { get; set; }
    }
    public class MessageUpdate
    {
        public string id { get; set; }
    }

Я настолько новичок в этом, что даже не знаю, действительно ли я "подписываюсь" на правильную модель в моем .CreateSubscription<> вызов.

Создание подписки (жестко запрограммированный требуемый формат даты):

              public static class Subscriptions
        {
            public static string BasicMessage= @"
    subscription MessageUpdateBasic($date:Time!){
      messageUpdated(dated:$date)
      {
        id
      }
}
    ";
        }

public static class SubscriptionCreator
{
    public static GraphQLRequest CreateMessageUpdatedRequest(DateTime date)
    {
        return new GraphQLRequest()
        {
            Query = Subscriptions.BasicMessage,
            OperationName = "BasicMessageSubscription",
            Variables = new { date = "2021-10-21T00:00:00Z"}
        };
    }
}

0 ответов

Другие вопросы по тегам