Asp classic Can';ASP经典中的t设置响应对象
这一行:Asp classic Can';ASP经典中的t设置响应对象,asp-classic,Asp Classic,这一行: set Response = nothing 由于错误而失败 "Microsoft VBScript runtime error '800a01b6' Object doesn't support this property or method: 'Response' " 现在,我可以想出很多原因来解释为什么引擎可能不想让我做这样一件看似愚蠢的事情,但我不确定一个丢失的方法怎么会阻止我 编辑:下面是我想用这个做的一个例子 class ResponseBufferEphemero
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! '
您不能将响应设置为“无” ASP响应对象用于从服务器向用户发送输出 你想干什么?如果您试图结束对用户的响应,请使用
Response.End
我在这里找到了答案: 因此,我们对VBScript进行了特殊的大小写,以便它在编译包含调用
Response.Write
的代码时进行检测,全局命名空间中有一个名为Response
的命名项,它实现了IResponse::Write
。我们只为这种情况生成有效的早期绑定调用
“不能”是指发动机绝对禁止的吗?实际上,我正在尝试做一些非正统的事情,包括重定向响应。为我正在摆弄的一个小模板系统编写。我希望所有的响应。在一个块中写入调用,以发送到另一个对象。这可能是,事实上可能是,一个糟糕的想法,原因有很多,但我还是想让它发挥作用,部分原因是因为我无法说服自己这是一个糟糕的想法,直到我成功地让它在我面前爆炸。