C# 在运行javascript的Web服务器上使用新作用域/上下文的位置和方式

C# 在运行javascript的Web服务器上使用新作用域/上下文的位置和方式,c#,javascript,webserver,C#,Javascript,Webserver,我目前正在用C语言开发webserver,它使用javascript作为服务器端语言(使用hte javascript.net库,.net的v8引擎端口)。 目前我有一个问题:当我解析并运行一个文件中的脚本时,在进程中创建的变量永远存在,因为我在同一个javascript上下文中运行所有脚本。我应该做些什么来防止这种情况?是否为Web服务器中的每个请求创建不同的上下文?我想这不是答案,因为这将是非常没有效率的。由于我不能像在C语言中那样简单地用开括号和闭括号在javascript中创建作用域,我

我目前正在用C语言开发webserver,它使用javascript作为服务器端语言(使用hte javascript.net库,.net的v8引擎端口)。 目前我有一个问题:当我解析并运行一个文件中的脚本时,在进程中创建的变量永远存在,因为我在同一个javascript上下文中运行所有脚本。我应该做些什么来防止这种情况?是否为Web服务器中的每个请求创建不同的上下文?我想这不是答案,因为这将是非常没有效率的。由于我不能像在C语言中那样简单地用开括号和闭括号在javascript中创建作用域,我不知道该怎么做。
提前谢谢

您可以在闭包中执行代码,如
(function(){…})()。除了全局变量(即
window.var1
或如果省略
var
关键字),此函数体中的任何内容都不会暴露于全局范围。我不确定我是否可以这样做,因为我准确地解析了页面,从中提取服务器端代码到列表,然后我运行列表中的脚本,在列表中有用于输出的脚本(例如,当您在php中执行这一行时:它将变量x输出到html响应文件)。所以我必须按照这个顺序计算它们,当遇到一个输出时,它会将其输出到文件中,所以我不能用一个字符串将其打包,并添加上面所说的内容。