Невозможно подписать метод на стороне подписчика в микросистеме с использованием потоковой передачи nats - PullRequest
0 голосов
/ 27 января 2020

Я использую простое два. net базового веб-API, одно для публикации контента, а другое для подписки этого контента с помощью сервера потоковой передачи NATS.

На стороне издателя

        string clientID = "abc-publisher";
        string clusterID = "test-cluster";
        string subject = "testing Subject1";
        string data = "Testing with the API";

        byte[] payload = Encoding.UTF8.GetBytes(data);
        try
        {
            var opts = StanOptions.GetDefaultOptions();
            //opts.StartWithLastReceived();
            opts.NatsURL = StanConsts.DefaultNatsURL;
            using (var c = new StanConnectionFactory().CreateConnection(clusterID, clientID,opts))
            {
                string returnData = c.Publish(subject, payload, (obj, pubArgs) =>
                  {
                      string s = pubArgs.GUID;

                  });

            }
        }
        catch (Exception ex)
        {
            string msg = ex.Message.ToString();
        }

В Абонентская сторона

 using (var c = new StanConnectionFactory().CreateConnection(clusterID, clientID))
      {
            var opts = StanSubscriptionOptions.GetDefaultOptions();
            opts.StartWithLastReceived();
            var s = c.Subscribe(subject, (obj, args) =>
           {

               str = Encoding.UTF8.GetString(args.Message.Data);
           });
       }

Но когда я запускаю проекты, я не могу go к методу обратного вызова абонента.

1 Ответ

0 голосов
/ 11 марта 2020

Извините за задержку. Проверьте журнал вашего сервера, вы должны были получить ошибку, так как у вашего объекта есть пробелы. В NATS субъекты не могут иметь пробелов, больше информации здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...