En mis proyectos, tengo una clase de ayuda llamada TempFile. Tiene varios métodos estáticos que utilizo para escribir una secuencia (o una matriz de bytes si es necesario) en un archivo temporal. Aquí está un ejemplo simplificado de un procedimiento de este tipo:
public static string Write(Stream stream)
{
string FileName = Path.GetTempFileName();
// Write the contents of stream to a file with FileName
return FileName;
}
Entonces, tengo otro método que acepta una ruta de archivo para su posterior eliminación, que es un miembro de mi clase 'análisis', si bien se puede poner en su propia estática clase de ayuda:
public string ForDeletion(string path)
{
ListOfPaths.Add(path);
return path;
}
por último, hago lo siguiente:
SomeApiFunction(ForDeletion(TempFile.Write(myStream)));
Esta es la mejor manera que he llegado con para eludir la falta de capacidad de manejo de corriente de un API.
¿Estás seguro de que los métodos que estás llamando no tienen sobrecargas que toman transmisiones en lugar de rutas? – MusiGenesis
Sé que hay un montón de bibliotecas de MS que solo aceptan rutas (a DirectX se me ocurre). En general, se considera un diseño de API deficiente, pero a veces no tiene muchas opciones, salvo la configuración de un disco RAM. –