2013-03-03 3 views
0

мое приложение asp.net MVC3, я разработал dicom viewer, используя обработчик изображений, и он хорошо работает, теперь проблема заключается в кардиографических изображениях MPR, в некоторых случаях больше чем 3000 изображений, я не мог открыть их в кеш-броузер, я выхожу из памяти. Работая вокруг, я просто открываю 10 файлов в то время; он работает нормально, но не с вращением (Rotate View anticlockwis наследует выбранную ось). Я использую следующий скрипт в обработчике.CT cardic Dicom MPR, asp.net MVC C# параметры загрузки

MemoryStream objMemoryStream = new MemoryStream(); 
objImage.Save(objMemoryStream, System.Drawing.Imaging.ImageFormat.Jpeg); 
byte[] imageContent = new byte[objMemoryStream.Length]; 
objMemoryStream.Position = 0; 
objMemoryStream.Read(imageContent, 0, (int)objMemoryStream.Length); 
context.Response.ContentType = "image/jpeg"; 
context.Response.BinaryWrite(imageContent); 

Мой вопрос, лучше хранить изображения в переменной сеанса, или сохранять изображения в виде двоичных данных в таблице SQL, чтобы ускорить uplaod? Я был бы благодарен за ваши предложения, спасибо заранее.

+1

Что вы имеете в виду «не с поворотом», и я не уверен, что понимаю, почему хранение в сеансе или SQL ускоряет загрузку, так как в это время он уже загружен на сервер, поэтому я, вероятно, что-то пропустил. –

+0

Adam, по вращению Я имею в виду Rotate View anticlockwis earound выбрана ось. Вы правильно загружаете не правильную терминологию, я должен был использовать загрузку файлов в память. Спасибо – hncl

ответ

0

Вы можете избежать загрузки изображения в промежуточной переменной массива байтов и MemoryStream путем записи непосредственно в выходной поток ответа:

context.Response.ContentType = "image/jpeg"; 
objImage.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); 

Это позволит сократить по крайней мере, в два раза использования памяти. Но я не уверен, что я понимаю реальную проблему здесь, что делает ASP.NET MVC 3 своим вопросом и как поможет сохранение изображений на SQL Server или Session.

+0

Спасибо Дарин, мое приложение asp.net MVC3. Поскольку у меня нет опыта в DICOM, мне просто интересно, есть ли лучший способ открыть файлы и избежать ошибки в памяти. – hncl