Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp classic 在经典ASP中使用应用程序范围中的dictionary对象_Asp Classic_Dictionary_Scope_Scripting.dictionary - Fatal编程技术网

Asp classic 在经典ASP中使用应用程序范围中的dictionary对象

Asp classic 在经典ASP中使用应用程序范围中的dictionary对象,asp-classic,dictionary,scope,scripting.dictionary,Asp Classic,Dictionary,Scope,Scripting.dictionary,有人知道如何在经典ASP中使用应用程序范围内的dictionary对象吗?无法使用Scripting.Dictionary-如果尝试,您将看到类似以下内容: Application object error 'ASP 0197 : 80004005' Disallowed object use /xxx.asp, line 2. Cannot add object with apartment model behavior to the application intrinsic object.

有人知道如何在经典ASP中使用应用程序范围内的dictionary对象吗?无法使用Scripting.Dictionary-如果尝试,您将看到类似以下内容:

Application object error 'ASP 0197 : 80004005'
Disallowed object use /xxx.asp, line 2. Cannot add object with apartment model behavior to the application intrinsic object.
我在(good ol')4GuysFromRolla上找到了,但它指向和-两者都是死链接


这篇文章清楚地解释了为什么不能在应用程序范围内使用Scripting.Dictionary,但我想知道是否有人知道一个免费的替代方案,或者我在哪里可以找到4GuysFromRolla提到的旧组件的副本?

我可以使用以下链接从Caprock Consulting下载字典组件:

我有可查找组件,如果有兴趣,可以提供给您

然而,我还没有听说您可以在应用程序范围内使用.NET哈希表,这可能对您有用

只要这样做:

<object id="YOUR_VAR_NAME" progid="System.Collections.HashTable" runat="Server" scope="Application"></object>

这将为您提供一个全局的、应用程序范围的哈希表对象


不过,请注意不要将其修改为严重错误,我在MemoryLeak中遇到了问题,最终应用程序会话处理变得不可靠(没有正确调用SessionStart)

我也遇到了同样的问题,最后将字典的内容输入到应用程序变量,并添加了

    for each obj in application.Contents
        if Left(obj,6) = "urlLog" then
            application.Contents.Remove(obj)
        end if
    next
要杀死application.end上的global.asa中的所有应用程序变量(您也可以使用
application.Contents.RemoveAll
但我听说它存在som问题,留下一些变量并导致内存泄漏,即使我可以找到任何可靠的源来证明它


总之,Caprock字典对您有用吗?

实际上,也可以在应用程序范围内创建scripting.dictionary:将其添加到global.asa+1中,这正是我所需要的。谢谢。将字典用作哈希表的全局对象是否有一些缺点?@rcdmk我想我看到了相同的内存泄漏趋势我也会使用字典,所以我建议不要大量修改字典。好的,谢谢。我只是用它来创建一个全局dict,并在global.asa上填充一些我用来本地化网站的文本。