Generar un nombre de fichero temporal en C#

Ahora último he estado haciendo aplicaciones para transferencia de ficheros de gran tamaño en segundo plano usando WCF (Streamed & MTOM), en donde he tenido la necesidad de generar un nombre temporal para un fichero. Aquí expongo como hacerlo en .NET usando C#.


public string NombreTemporal(string extension)
{
   string response = string.Empty;
   try
   {
      if (!extension.StartsWith(«.»))
         extension = «.» + extension;
         response = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + extn;
   }
   catch (Exception ex)
   {
     Console.WriteLine(ex.Message);
   }
   return response;
}