Есть некий COM-объект, возвращающий некий текст. Текст хочется немножко отредактировать, а затем сохранить в файл (выбранный пользователем). Проблема в том, что объект сам вызывает Response.End, не давая возможность редактировать текст на сервере. Вопрос - как лучше сделать это на клиенте?
Пасиб.
tornik писал(а):Как вариант, можно создать промежуточную асп страницу которая будет осуществлять запрос текста, затем редактирование а только затем отправку клиенту. Сомневаюсь что редактирование возможно на стороне клиета, если это простой текст.
Не получается посредника создать - СОМ-объект сам пишет нужный текст в Response, и сам же делает Response.End...
Ну наверное сохранить текст в глобальной переменной Session и затем добавить на клиентской стороне скрипт, который после загрузки страницы сделает редирект на другую ASP страницу - которая уже и сохранит то, что находится в глобальной переменной.
ura писал(а):Ну наверное сохранить текст в глобальной переменной Session и затем добавить на клиентской стороне скрипт, который после загрузки страницы сделает редирект на другую ASP страницу - которая уже и сохранит то, что находится в глобальной переменной.
Поясните плиз, как сохранить текст в Session (если не использовать посредника, как предлагает tornik)?
Если объект возвращает текст, то его надо сохранить в переменную.
Каким то образом этот текст же попадает к клиенту? Или под клиентом подразумевается нечто другое чем Browser.
Если послан response.end клиенту (он же браузер) то сделать ничего уже нельзя на сервере (вернее делать то можно но клиент нечего не получит, потому что запрос уже обслужен и браузер ждет следующего клика юзера.
Вот на следующий клик что то можно уже послать юсеру.
Но все это можно попробовать перехитрить как минимум двумя способами -
1) javascript на клиентской стороне может быть запрограммирован так что-бы распознать эту ситуацию и автоматом симитировать этот клик
делая form.submit() автоматом и запросить у сервера ответ от злополучного COM
(для юзера это почти прозрачно - он не заметит что на самом деле было два раза request/response
2) Написать другой COM который вызовет ваш COM и получит от него ответ. Ваш должен работать под вашим IIS, вредный должен работать под другим IIS (на этом самом сервере)