Como devo executar uma tarefa de longa duração no ASP.NET

Estou construindo um site usando o .NET 4. Existem muitos artigos do MSDN que datam de 2003, sobre o uso de objetos Thread e 2007, usando páginas assíncronas no .NET 2, mas tudo isso é obsoleto. Eu sei que o .NET 4 nos trouxe oTask class e algumas pessoas alertam vagamente contra o seu uso para este fim.

Então, pergunto, qual é o método "preferido" por volta de 2011 para executar o trabalho em segundo plano / assíncrono no IIS no ASP.NET 4? Quais são as advertências sobre o uso do Thread / Task diretamente? O Async = true ainda está em voga?

EDIT: Ok, ok, pelas respostas é claro que a opinião é que eu deveria prestar um serviço, se puder. Mas as vantagens de fazê-lo dentro do aplicativo da web são significativas, especialmente implantação / reimplantação mais fácil. Supondo que o processo seja seguro para travar, então, se eu o fizesse dentro do IIS, qual é a melhor maneir

questionAnswers(5)

yourAnswerToTheQuestion