In RouteToEndpoint, publisherEndpoint name “transfer_message” and EndPoint Name “PicsMessage”. I am expecting subscriber have to create a subscription message with publisherendpoint “transfer_message@machinename” but it is creating with endpoint name “PicsMessage@machinename”. I am using InMemoryPersistence, StorageType.Subscriptions.
With MSMQ you are using Message-driven (persistence-based) subscription. We have a good overview available on our docs site
In short the subscriber sends a subscription message with its endpoint name in it (
PicsMessage) to the publisher address
transfer_message. The publisher adds the address of the subscriber into its subscription store. Therefore the behavior you are seeing is expected
Side note: InMemory subscription storage will discard all subscriptions when the endpoint shuts down. So you might want to find a durable subscription store for production.