Я использую простое два. 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 к методу обратного вызова абонента.