Страница 1 из 1
Вопрос спецам в ASP
Добавлено: 22 окт 2006, 13:44
Malysh'OK
Есть некий COM-объект, возвращающий некий текст. Текст хочется немножко отредактировать, а затем сохранить в файл (выбранный пользователем). Проблема в том, что объект сам вызывает Response.End, не давая возможность редактировать текст на сервере. Вопрос - как лучше сделать это на клиенте?
Пасиб.

Добавлено: 22 окт 2006, 14:51
Malysh'OK
tornik писал(а):Как вариант, можно создать промежуточную асп страницу которая будет осуществлять запрос текста, затем редактирование а только затем отправку клиенту. Сомневаюсь что редактирование возможно на стороне клиета, если это простой текст.
Не получается посредника создать - СОМ-объект сам пишет нужный текст в Response, и сам же делает Response.End...
Добавлено: 22 окт 2006, 19:53
ura
Ну наверное сохранить текст в глобальной переменной Session и затем добавить на клиентской стороне скрипт, который после загрузки страницы сделает редирект на другую ASP страницу - которая уже и сохранит то, что находится в глобальной переменной.
Добавлено: 22 окт 2006, 22:37
Malysh'OK
ura писал(а):Ну наверное сохранить текст в глобальной переменной Session и затем добавить на клиентской стороне скрипт, который после загрузки страницы сделает редирект на другую ASP страницу - которая уже и сохранит то, что находится в глобальной переменной.
Поясните плиз, как сохранить текст в Session (если не использовать посредника, как предлагает tornik)?
Добавлено: 23 окт 2006, 08:01
ura
Если объект возвращает текст, то его надо сохранить в переменную.
Каким то образом этот текст же попадает к клиенту? Или под клиентом подразумевается нечто другое чем Browser.
Добавлено: 03 ноя 2006, 00:48
Oleksandr
Ну очень мерзопакостный COM у вас...
Если послан response.end клиенту (он же браузер) то сделать ничего уже нельзя на сервере (вернее делать то можно но клиент нечего не получит, потому что запрос уже обслужен и браузер ждет следующего клика юзера.
Вот на следующий клик что то можно уже послать юсеру.
Но все это можно попробовать перехитрить как минимум двумя способами -
1) javascript на клиентской стороне может быть запрограммирован так что-бы распознать эту ситуацию и автоматом симитировать этот клик
делая form.submit() автоматом и запросить у сервера ответ от злополучного COM
(для юзера это почти прозрачно - он не заметит что на самом деле было два раза request/response
2) Написать другой COM который вызовет ваш COM и получит от него ответ. Ваш должен работать под вашим IIS, вредный должен работать под другим IIS (на этом самом сервере)