Howdy
Un pensamiento inmediato en sus requisitos del estado para un servicio de tela porqué no mantener el estado usted mismo. La primera llamada al webservice genera un guid que todas las llamadas subsecuentes deban incluir y mover hacia atrás el a una base de datos.
Podría imaginarme tan que su webservice que vuelve un tipo complejo cada vez con un guid en ella la primera llamada los guids generados y el guid y cualquier otro dato que requieren persistencia está escrita al DB.
En su segundo punto no hay razón por la que usted no podría construir un servidor básico del jabón como servidor de las ventanas sino que usted todavía tendría que hacer el trabajo para persistir los valores más entonces todos los comms y para jabonar el proceso.
Apenas un pensamiento.