Múltiples correos electrónicos y archivos adjuntos, reutilizando la corriente de memoria -- # campo con file campo con memory-optimization camp codereview Relacionados El problema

Multiple emails and attachments, reusing memory stream


1
vote

problema

Español

Estoy generando un formulario PDF basado en la entrada del usuario desde un formulario de sitio web de MVC. El PDF se genera utilizando el Foxit .NET SDK , luego se adjunta a tres separados Correos electrónicos, generados usando Postal . Se ha solicitado que el archivo no se guarde en el disco en ninguna etapa.

No he trabajado mucho con archivos o carType0 Antes, quisiera saber si mi código está siguiendo las prácticas estándar para administrar la memoria y el rendimiento, etc.

  carType1  

¿Está bien crear nuevos objetos carType2 para cada correo electrónico?

Original en ingles

I am generating a pdf form based on user input from an MVC website form. The pdf is genrated using the Foxit .NET SDK, then attached to three separate emails, generated using Postal. It has been requested that the file not be saved to disk at any stage.

I have not worked a lot with files or MemoryStreams before so would just like to know if my code is following the standard practices for managing memory and performance etc.

MergeDocument document = new MergeDocument(); // The PDF File Object // ... Populate and create the pdf file  // Generate and Send the emails // To the user dynamic useremail = new Email("FormSubmitted"); useremail.To = User.EmailAddress; useremail.Attach(new Attachment(new MemoryStream(document.Draw()), "OrderForm.pdf")); useremail.Send();  // To the Vendor dynamic vendoremail = new Email("FormSubmittedVendor"); vendoremail.To = Vendor.EmailAddress; vendoremail.Attach(new Attachment(new MemoryStream(document.Draw()), "OrderForm.pdf")); vendoremail.Send();  // To us dynamic internalemail = new Email("FormSumbittedUs"); // To: is hardcoded in view. internalemail.Attach(new Attachment(new MemoryStream(document.Draw()), "OrderForm.pdf")); internalemail.Send(); 

Is it ok to create new MemoryStream objects for each email?

        

Lista de respuestas

2
 
vote

Básicamente, está bien, para crear un nuevo 99887766655443325 3 veces, pero tengo que preguntar, por qué no crea un archivo adjunto agregándolo a cada uno de los correos electrónicos como SO

  16  
 

Basically it is ok, to create a new MemoryStream 3 times, but I have to ask, why you don't create one Attachment adding it to each of the emails like so

var attachment = new Attachment(new MemoryStream(document.Draw()), "OrderForm.pdf");   useremail.Attach(attachment); vendoremail.Attach(attachment); internalemail.Attach(attachment);   
 
 
   
   

Relacionados problema

1  Encontrar el palíndromo más largo de la cadena dada  ( Finding the longest palindrome from the given string ) 
Recientemente me encontré con este problema que me instruye a encontrar el Subcanera más larga que es un palíndromo: Como todos sabemos, un palíndromo es...

4  Reducción del uso de la memoria para FIZZBUZZZ IN R  ( Reducing memory usage for fizzbuzz in r ) 
He estado intentando toda la noche para que mi Fuzzbuzz use por debajo de 20 MB de RAM, pero parece que no puedo obtenerlo mucho más pequeño que esto. Inde...

0  Cálculo de la ruta más corta posible entre dos nodos dados  ( Calculating shortest possible route between two given nodes ) 
Recientemente me encontré con este problema : Héroes en películas indias son capaces de hazañas superhumanas. Por ejemplo, Pueden saltar entre edificios...

-1  Lista vinculada más simple en C ++?  ( Simplest linked list in c ) 
Mi contexto fue básicamente para obtener la implementación de mi lista vinculada en C ++ revisado, ya que lo escribí desde cero y quería hacerlo lo más simple...

2  Creación de archivos mensuales de un archivo anual  ( Creating monthly files from an annual file ) 
Estoy interesado en aprender una forma más sucinta (o mejor desempeño) de escribir el siguiente código de trabajo. Simplemente lo descubrí, pero es bastante d...

3  Cálculo del número de hojas ilegadas  ( Calculating number of unharmed leaves ) 
Recientemente me encontré con este problema que le pide que imprima el Número de hojas no comidas por las orugas: Como todos conocemos a las orugas, aman...

4  Tirar los datos de la API, permitió la memoria agotada  ( Pulling data from api allowed memory exhausted ) 
Estoy trabajando en un proyecto donde tire los datos (JSON) de una API. Me gustaría manipular estos datos y almacenar esto como información útil en mi DB (MyS...

1  Solicitarios de raspado y ahorro a MySQL  ( Scraping websites and saving to mysql ) 
Tengo la siguiente pieza de código que raspa los sitios web y guarda la información de regreso a MySQL. En este momento está consumiendo toda la memoria en ...

8  Calculando la longitud mínima promedio de números aleatorios de 0 - 1 que se suma a más de 1  ( Calculating the average minimum length of random numbers from 0 1 that adds up ) 
Mi profesor de informática nos dio una tarea para calcular el promedio después de mil millones de pruebas. Su asignación exacta fue esta: Considere gener...

3  Libro de trabajo _Open Copy-Pega Hoja de referencia (30k + líneas) de otro libro de trabajo solo en cambio  ( Workbook open copy paste reference sheet 30klines from other workbook on cha ) 
Trabajando en la búsqueda de una manera de reducir el tamaño de la fórmula de la célula y el uso de la memoria de mi libro de personal de Excel, se me ocurrió...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos