I have an asp.net application that allows a group of students to reserve "rooms". Each room is setup with its own exchange account so when a student reserves a room an EWS call is made to create an appointment on the calendar. Using jquery we display open timeslots so that the student can only book available times.
After experiencing high traffic and competition for the same timeslots I had to address simultaneous reservations. My thought was that I could just pause the main thread, make a call to find the reservation i just made, verify accept from the room, return "confirmed appointment" to the user that got the accept and "denied appointment" to the user who got the decline. I found partial success because EWS is not reliable in returning a response everytime. Sometimes a user would get a response unknown while the room would accept the appointment by email. The application lives and dies off the response from EWS and it seems that in high traffic with alot of simultaneous transactions, EWS cant respond to my calls. Funny thing though all other departments that have very little traffic love the app and it works great for them:(
My thought is that I need to Queue my EWS calls.
Can anyone give me some guidance on managing EWS simultaneous calls for the same/different resource and time?
Has anyone ever queued up an EWS user transaction (create appointment, confirm appointment and delete appointment if condition calls)?