Как это правильнее сделать?
От: Akinak Россия  
Дата: 31.03.05 15:08
Оценка:
Есть asp.net приложение. В нём делается экспорт в exell (из asp.net создаётся объект экселя, с которым и происходит работа). Причем как раз вот этот экспорт грузит машину на которой стоит IIS до такой степени, что достучаться до сайта удаётся далеко не всегда.

Подскажите, pls, как сделать так, чтобы во время экспорта можно было нормально работать с сайтом?
Как это правильнее сделать?
От: Аноним  
Дата: 31.03.05 15:18
Оценка:
Неужели экспорт в Excel такой тугой? А вообще в целях производительности используют 3-х уровневую архитектуру

Когда к тебе располагает всё... — Уильям Шекспир "Король Генрих IV"
...Не ошибись, указывая пальцем на Луну — Дзен-буддизм


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Как это правильнее сделать?
От: ansi  
Дата: 01.04.05 03:49
Оценка:
Здравствуйте, Akinak, Вы писали:

A>Есть asp.net приложение. В нём делается экспорт в exell (из asp.net создаётся объект экселя, с которым и происходит работа). Причем как раз вот этот экспорт грузит машину на которой стоит IIS до такой степени, что достучаться до сайта удаётся далеко не всегда.


A>Подскажите, pls, как сделать так, чтобы во время экспорта можно было нормально работать с сайтом?


Насколько я знаю, Эксел может читать файлы xml (у него там свой формат). Если подойдет, то это будет проще.
new RSDN@Home(1.1.4, 303) << new Message(); std::head::ear << "Artist — Track 1";
Re: Как это правильнее сделать?
От: Аноним  
Дата: 01.04.05 05:48
Оценка:
A mozhno vopros avtoru posta nemnozhko ne v temu — a kak vy Excel ispolzuete — cherez VS Tools for Office ili prosto kidaete reference na kakuju-to dll-ku?


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Как это правильнее сделать?
От: Flea  
Дата: 01.04.05 09:04
Оценка:
Здравствуйте, Akinak, Вы писали:

A>Есть asp.net приложение. В нём делается экспорт в exell (из asp.net создаётся объект экселя, с которым и происходит работа). Причем как раз вот этот экспорт грузит машину на которой стоит IIS до такой степени, что достучаться до сайта удаётся далеко не всегда.


A>Подскажите, pls, как сделать так, чтобы во время экспорта можно было нормально работать с сайтом?

Можно попробовать запускать все это в отдельном потоке.
... << RSDN@Home 1.1.3 stable >>
Re: Как это правильнее сделать?
От: Oyster КНДР  
Дата: 01.04.05 09:17
Оценка:
Здравствуйте, Akinak, Вы писали:

A>Есть asp.net приложение. В нём делается экспорт в exell (из asp.net создаётся объект экселя, с которым и происходит работа). Причем как раз вот этот экспорт грузит машину на которой стоит IIS до такой степени, что достучаться до сайта удаётся далеко не всегда.


A>Подскажите, pls, как сделать так, чтобы во время экспорта можно было нормально работать с сайтом?


Ну если экспорт такой "тугой", то имхо надо выносить его из web-приложения. Пусть им внешний Windows Service занимается, например.
Re[2]: Как это правильнее сделать?
От: Akinak Россия  
Дата: 01.04.05 12:11
Оценка:
O>Ну если экспорт такой "тугой", то имхо надо выносить его из web-приложения. Пусть им внешний Windows Service занимается, например.

А есть уверенность, что объект офиса, запущенный из Windows Service'а не займёт те же 100% процесорного времени? Там вся проблема заключается в том, чтобы все это уместить на одном компе.
Re[2]: Как это правильнее сделать?
От: Akinak Россия  
Дата: 01.04.05 12:12
Оценка:
Здравствуйте, Аноним, Вы писали:

А>A mozhno vopros avtoru posta nemnozhko ne v temu — a kak vy Excel ispolzuete — cherez VS Tools for Office ili prosto kidaete reference na kakuju-to dll-ku?


через референс на dll'ку
Re: Наверное, надо спросить шире:
От: Akinak Россия  
Дата: 01.04.05 12:17
Оценка:
Если решать проблему в общем: есть ресурсоёмкая задача, выолняемая сейчас asp.net страницей и грузящая процессор на 100%, из-за чего перестаёт отвечать iis. Как нужно изменить программу, чтобы разгрузить процессор? Ессно, всё пишется на net-е.

Спасибо за советы всем принимающим участие в дискуссии!
Re[3]: Как это правильнее сделать?
От: GarryIV  
Дата: 01.04.05 12:51
Оценка:
Hello, Akinak!

O>> Ну если экспорт такой "тугой", то имхо надо выносить его из

O>> web-приложения. Пусть им внешний Windows Service занимается, например.

A> А есть уверенность, что объект офиса, запущенный из Windows Service'а не

A> займёт те же 100% процесорного времени? Там вся проблема заключается в
A> том, чтобы все это уместить на одном компе.

Так хоть приоритетами можно задавить.
Posted via RSDN NNTP Server 1.9
WBR, Igor Evgrafov
Re: Наверное, надо спросить шире:
От: Аноним  
Дата: 01.04.05 13:01
Оценка:
> Если решать проблему в общем: есть ресурсоёмкая задача, выолняемая сейчас asp.net страницей и грузящая процессор на 100%, из-за чего перестаёт отвечать iis. Как нужно изменить программу, чтобы разгрузить процессор? Ессно, всё пишется на net-е.

ресурсоёмкую задачу можно выполнять в отдельном потоке с низким приоритетом. см. Thread и ThreadPriority. Как работать с задачей в отдельном потомке см. пример http://www.gotdotnet.ru/Forums/Web/132496.aspx


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[4]: Как это правильнее сделать?
От: Akinak Россия  
Дата: 01.04.05 13:11
Оценка:
A>> А есть уверенность, что объект офиса, запущенный из Windows Service'а не
A>> займёт те же 100% процесорного времени? Там вся проблема заключается в
A>> том, чтобы все это уместить на одном компе.

GIV>Так хоть приоритетами можно задавить.


Может быть ламерский вопрос: а нельзя как-нибудь поднять приоритет iis'a? Ведь тогда можно было бы сэкономить время на написании сервиса?
Re[5]: Как это правильнее сделать?
От: Oyster КНДР  
Дата: 01.04.05 14:14
Оценка:
Здравствуйте, Akinak, Вы писали:

A>Может быть ламерский вопрос: а нельзя как-нибудь поднять приоритет iis'a? Ведь тогда можно было бы сэкономить время на написании сервиса?


Воистину ламерский. Тебе приоритет операции экспорта понижать надо, чтобы она не загружала процессор на 100%...
Re[6]: Как это правильнее сделать?
От: Akinak Россия  
Дата: 01.04.05 14:21
Оценка:
O>Воистину ламерский. Тебе приоритет операции экспорта понижать надо, чтобы она не загружала процессор на 100%...

То есть выходит, что в пределах одного компа это решается исключительно написанием сервиса?
Re[7]: Как это правильнее сделать?
От: Oyster КНДР  
Дата: 01.04.05 14:28
Оценка:
Здравствуйте, Akinak, Вы писали:

O>>Воистину ламерский. Тебе приоритет операции экспорта понижать надо, чтобы она не загружала процессор на 100%...


A>То есть выходит, что в пределах одного компа это решается исключительно написанием сервиса?


Не факт. Вот товарищ Varg тут
Автор: Varg
Дата: 01.04.05
предложил запускать в отдельном потоке с нихким приоритетом. Тогда просто запускаешь и ждёшь, пока поток завершится, а другие спокойно ходят на сайт.
Re[2]: Как это правильнее сделать?
От: Аноним  
Дата: 03.04.05 19:40
Оценка:
>через референс на dll'ку
а можно узнать на какую?




данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[3]: Как это правильнее сделать?
От: Akinak Россия  
Дата: 04.04.05 11:48
Оценка:
Здравствуйте, Аноним, Вы писали:

>>через референс на dll'ку

А>а можно узнать на какую?

Microsoft.Exell ver. 11

а есть какая-нибудь разница?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.