Не удается установить объект ответа в ASP Classic - PullRequest
1 голос
/ 22 июля 2010

Эта строка:

set Response = nothing

Сбой с ошибкой

"Microsoft VBScript runtime  error '800a01b6'

Object doesn't support this property or method: 'Response' "

Теперь я могу придумать множество причин, по которым движок может не захотеть позволить мне сделать такую, казалось бы, глупую вещь, но я не уверен, как меня может остановить отсутствующий метод.

РЕДАКТИРОВАТЬ: Вот пример того, что я хотел бы сделать с этим.

class ResponseBufferEphemeron
    private real_response_
    private buffer_

    private sub class_initialize
        set real_response_ = Response
    end sub

    private sub class_terminate
        set Response = real_response_
    end sub

    public function init (buf)
        set buffer_ = buf
        set init = me
    end function

    public function write (str)
        buffer_.add str
    end function
end class

function output_to (buf)
    set output_to = (new ResponseBufferEphemeron).init(buf)
end function

dim buf: set buf = Str("Block output: ") ' My string class '
with output_to(buf)
    Response.Write "Hello, World!"
end with 

Response.Write buf ' => Block output: Hello, World! '

Ответы [ 2 ]

0 голосов
/ 29 июля 2010

Ну, я нашел ответ здесь: http://blogs.msdn.com/b/ericlippert/archive/2003/10/20/53248.aspx

Итак, мы создали специальный сценарий VBScript, чтобы он обнаруживал, когда он компилирует код, содержащий вызов Response.Write, и в глобальном пространстве имен есть именованный элемент с именем Response, который реализует IResponse::Write. Мы генерируем эффективный ранний вызов для только в этой ситуации .

0 голосов
/ 22 июля 2010

Вы не можете установить Ответ на ничто.

Объект ASP Response используется для отправки вывода пользователю с сервера.

Что вы пытаетесь сделать?Если вы пытаетесь завершить ответ пользователю, используйте

Response.End
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...