This is by design. The two workflows do not share the state, and the clients will be distributed between them according to the “circle” principle, which means that 50% will connect to process A and 50% to process B. Since the base SignalR message bus is in memory by default, process A does not sees messages from process B.
What you are setting up is called a "web garden" (not to be confused with a "web farm") and is usually used to respond more quickly to failed applications (see this SO question ). Since SignalR is built from the ground up for scalability, this configuration will not do you any good.
My recommendation is to leave the workflow limit at 1.
However, there is a way to make it work with web gardens: you will need to use an external message bus, such as Redis or the Windows Azure service bus (details can be found in docs ) to exchange messages between processes, which, of course, introduces an additional delay online.
source share