I simply have an app with a sender using EventHubClient and receiver using EventProcessorHost agianst the same EventHub created in Azure Cloud. The event hub has 16 partitions. The sending (using EventHubClient) EventData all have a fixed partitionKey. A implementation class implementing IEventProcessor is registered with the EventProcessorHost object. However, when run, the receiver PartitionContext.Lease.PartitionId does not agree with the EventData.PartitionKey within the fetched messages in IEventProcessor::ProcessEventAsync(). What is the difference of Lease.PartitionId and EventData.PartitionKey?
Since Event Hub does not have session concept (like session in message queue), if I have multiple instances of SENDER class and expect each one receive only the event it sends, using partitionKey, how would I implement?