public async Task <string> OpenAsync(CancellationToken cancellationToken) { try { var nsm = NamespaceManager.CreateFromConnectionString(_ehConnString); EventHubDescription desc = new EventHubDescription(_ehPath); await nsm.CreateEventHubIfNotExistsAsync(desc); _client = new EventProcessorClient(new EventprocessorClientOptions { Host = Environment.MachineName + " " + Guid.NewGuid().ToString(), ConnString = _ehConnString, HubPath = _ehPath, StorageConnString = _storageConnString, OnMessageAction = (message) => { this._messageCallback?.Invoke(message); }, OnError = (error) => { this._loggerAction?.Invoke(error); } }); _client.Start(); //return Task.FromResult($"EventHub at {this._ehPath}"); return($"EventHub at {this._ehPath}"); } catch (Exception e) { this._loggerAction?.Invoke(e); return($"Not listening on {this._ehPath}"); } }
public async Task Test1() { var order = Generator.NewOrder(); await using var client = new EventHubProducerClient(_config["Azure:EventHubs:ConnectionString"], "orders"); var publisher = new Publisher(client); await publisher.Publish("CreateOrder", order, DateTimeOffset.UtcNow); var blob = new BlobServiceClient(_config["Azure:EventHubs:StorageConnectionString"]); await using var service = new EventProcessorClient( await blob.StoreFor("service-a"), EventHubConsumerClient.DefaultConsumerGroupName, _config["Azure:EventHubs:ConnectionString"], "orders") .AttachTo(new ServiceA(publisher), "CreateOrder"); await service.Start(); await using var test = new EventProcessorClient( await blob.StoreFor("test"), EventHubConsumerClient.DefaultConsumerGroupName, _config["Azure:EventHubs:ConnectionString"], "orders") .AttachTo <OrderCreated>("OrderCreated"); await test.Start(); await test.Assert(x => x.Should().BeEquivalentTo(order)); }