I think you have to take a step back and look at the reason why the long-polling service was implemented in the first place. So rethinking what the service is doing and why or what is needed. Then you can start looking for implementing it thread-less. Maybe on thread so clients can send each other messages etc?