AppDomain.CurrentDomain.UnhandledException no se llama

Tengo un servicio WCF que tiene el siguiente código en Global.asax:

protected void Application_Start(object sender, EventArgs e)
{
    // Make sure that any exceptions that we don't handle at least get logged.
    AppDomain.CurrentDomain.UnhandledException += LogUnhandledException;
}

private void LogUnhandledException(object sender, UnhandledExceptionEventArgs e)
{
    Log.Error.LogException("UnhandledException", e.ExceptionObject as Exception);
}

La idea es, al menos, registrar todas las excepciones que no estén en orden.

Pero no parece que alguna vez se llame. Intenté hacer una Divide by Zero en una de mis operaciones de servicio y simplemente detiene el servicio después de que golpea la excepción.

int zero = 0;
int result = 100 / zero;

El método LogUnhandledException nunca se llama.

He intentado esto tanto en IIS como en ejecución en el depurador.

¿Cómo puedo hacer que este evento funcione para un servicio WCF?

Respuestas a la pregunta(3)

Su respuesta a la pregunta