Вопрос спецам в ASP

Все, что вы хотели знать о программизме, но боялись спросить.
Ответить
Аватара пользователя
Malysh'OK
Завсегдатай
Сообщения: 305
Зарегистрирован: 03 авг 2005, 18:41
Откуда: Москва-Ванкувер

Вопрос спецам в ASP

Сообщение Malysh'OK »

Есть некий COM-объект, возвращающий некий текст. Текст хочется немножко отредактировать, а затем сохранить в файл (выбранный пользователем). Проблема в том, что объект сам вызывает Response.End, не давая возможность редактировать текст на сервере. Вопрос - как лучше сделать это на клиенте?
Пасиб. :)
Аватара пользователя
Malysh'OK
Завсегдатай
Сообщения: 305
Зарегистрирован: 03 авг 2005, 18:41
Откуда: Москва-Ванкувер

Сообщение Malysh'OK »

tornik писал(а):Как вариант, можно создать промежуточную асп страницу которая будет осуществлять запрос текста, затем редактирование а только затем отправку клиенту. Сомневаюсь что редактирование возможно на стороне клиета, если это простой текст.
Не получается посредника создать - СОМ-объект сам пишет нужный текст в Response, и сам же делает Response.End...
ura
Житель
Сообщения: 915
Зарегистрирован: 09 мар 2003, 22:46

Сообщение ura »

Ну наверное сохранить текст в глобальной переменной Session и затем добавить на клиентской стороне скрипт, который после загрузки страницы сделает редирект на другую ASP страницу - которая уже и сохранит то, что находится в глобальной переменной.
Аватара пользователя
Malysh'OK
Завсегдатай
Сообщения: 305
Зарегистрирован: 03 авг 2005, 18:41
Откуда: Москва-Ванкувер

Сообщение Malysh'OK »

ura писал(а):Ну наверное сохранить текст в глобальной переменной Session и затем добавить на клиентской стороне скрипт, который после загрузки страницы сделает редирект на другую ASP страницу - которая уже и сохранит то, что находится в глобальной переменной.
Поясните плиз, как сохранить текст в Session (если не использовать посредника, как предлагает tornik)?
ura
Житель
Сообщения: 915
Зарегистрирован: 09 мар 2003, 22:46

Сообщение ura »

Если объект возвращает текст, то его надо сохранить в переменную.
Каким то образом этот текст же попадает к клиенту? Или под клиентом подразумевается нечто другое чем Browser.
Аватара пользователя
Oleksandr
Пользователь
Сообщения: 83
Зарегистрирован: 20 июн 2006, 22:31
Откуда: Україна-Vancouver

Сообщение Oleksandr »

Ну очень мерзопакостный COM у вас...

Если послан response.end клиенту (он же браузер) то сделать ничего уже нельзя на сервере (вернее делать то можно но клиент нечего не получит, потому что запрос уже обслужен и браузер ждет следующего клика юзера.
Вот на следующий клик что то можно уже послать юсеру.

Но все это можно попробовать перехитрить как минимум двумя способами -

1) javascript на клиентской стороне может быть запрограммирован так что-бы распознать эту ситуацию и автоматом симитировать этот клик
делая form.submit() автоматом и запросить у сервера ответ от злополучного COM
(для юзера это почти прозрачно - он не заметит что на самом деле было два раза request/response

2) Написать другой COM который вызовет ваш COM и получит от него ответ. Ваш должен работать под вашим IIS, вредный должен работать под другим IIS (на этом самом сервере)
Ответить