Есть asp.net приложение. В нём делается экспорт в exell (из asp.net создаётся объект экселя, с которым и происходит работа). Причем как раз вот этот экспорт грузит машину на которой стоит IIS до такой степени, что достучаться до сайта удаётся далеко не всегда.
Подскажите, pls, как сделать так, чтобы во время экспорта можно было нормально работать с сайтом?
Как это правильнее сделать?
От:
Аноним
Дата:
31.03.05 15:18
Оценка:
Неужели экспорт в Excel такой тугой? А вообще в целях производительности используют 3-х уровневую архитектуру
Когда к тебе располагает всё... — Уильям Шекспир "Король Генрих IV"
...Не ошибись, указывая пальцем на Луну — Дзен-буддизм
Здравствуйте, 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?
Здравствуйте, Akinak, Вы писали:
A>Есть asp.net приложение. В нём делается экспорт в exell (из asp.net создаётся объект экселя, с которым и происходит работа). Причем как раз вот этот экспорт грузит машину на которой стоит IIS до такой степени, что достучаться до сайта удаётся далеко не всегда.
A>Подскажите, pls, как сделать так, чтобы во время экспорта можно было нормально работать с сайтом?
Можно попробовать запускать все это в отдельном потоке.
Здравствуйте, Akinak, Вы писали:
A>Есть asp.net приложение. В нём делается экспорт в exell (из asp.net создаётся объект экселя, с которым и происходит работа). Причем как раз вот этот экспорт грузит машину на которой стоит IIS до такой степени, что достучаться до сайта удаётся далеко не всегда.
A>Подскажите, pls, как сделать так, чтобы во время экспорта можно было нормально работать с сайтом?
Ну если экспорт такой "тугой", то имхо надо выносить его из web-приложения. Пусть им внешний Windows Service занимается, например.
O>Ну если экспорт такой "тугой", то имхо надо выносить его из web-приложения. Пусть им внешний Windows Service занимается, например.
А есть уверенность, что объект офиса, запущенный из Windows Service'а не займёт те же 100% процесорного времени? Там вся проблема заключается в том, чтобы все это уместить на одном компе.
Здравствуйте, Аноним, Вы писали:
А>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?
Если решать проблему в общем: есть ресурсоёмкая задача, выолняемая сейчас asp.net страницей и грузящая процессор на 100%, из-за чего перестаёт отвечать iis. Как нужно изменить программу, чтобы разгрузить процессор? Ессно, всё пишется на net-е.
Спасибо за советы всем принимающим участие в дискуссии!
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
A>> А есть уверенность, что объект офиса, запущенный из Windows Service'а не A>> займёт те же 100% процесорного времени? Там вся проблема заключается в A>> том, чтобы все это уместить на одном компе.
GIV>Так хоть приоритетами можно задавить.
Может быть ламерский вопрос: а нельзя как-нибудь поднять приоритет iis'a? Ведь тогда можно было бы сэкономить время на написании сервиса?
Здравствуйте, Akinak, Вы писали:
A>Может быть ламерский вопрос: а нельзя как-нибудь поднять приоритет iis'a? Ведь тогда можно было бы сэкономить время на написании сервиса?
Воистину ламерский. Тебе приоритет операции экспорта понижать надо, чтобы она не загружала процессор на 100%...
Здравствуйте, Akinak, Вы писали:
O>>Воистину ламерский. Тебе приоритет операции экспорта понижать надо, чтобы она не загружала процессор на 100%...
A>То есть выходит, что в пределах одного компа это решается исключительно написанием сервиса?