¿Cómo puedo reciclar mediante programación el propio grupo de aplicaciones de una aplicación web .net?
Tengo una aplicación de servidor compleja que usa Nhibernate y Linq2SQL. Aproximadamente 3 veces al día, el código Linq2sql genera una excepción "el valor no puede ser nulo". Una vez que esto sucede, el código siempre generará la excepción. El diagnóstico y la resolución de la causa raíz serán largos e introducirán inestabilidad.
La "solución" actual es volver a enviar el grupo de aplicaciones cada hora. Sin embargo, el servicio no funciona desde el punto en que ocurre el problema hasta que se produce el reciclaje. Quiero que el servicio web detecte la excepción y recicle su propio grupo de aplicaciones. Quiero que se cumplan todas las demás solicitudes web hasta que se completen.
Editar El error está en ambos servidores en una granja de servidores web con carga equilibrada. Los clientes no cambian de un servidor a otro solo porque este código falla.