Application.cfc范围应用程序中的变量和内存

问题描述 投票:0回答:1

我对Coldfusion 9和application.cfc中的应用程序有疑问。在onRequestStart方法中,存在带有应用程序范围示例的变量:

<cffunction name = "onRequestStart">
    <cfset application.URL_Images = 
    '<img src = "http: // # server_name #: # server_port # / aseng / images / logo1.jpg">'>
</cffunction>

由于我访问该应用程序的人很多,服务器超时了,我在监视器中看到范围应用程序正在消耗大量内存。

问题是,Application.cfc中的应用程序范围变量是否比Application.cfm中的内存消耗更多的内存?

在Application.cfm中,服务器没有发生崩溃。

我有一些需要针对每个请求进行验证的变量,因为它们根据访问类型而获得不同的值。我们有独立的端口的远程访问和本地访问。

如何在不占用服务器内存的情况下设置这些变量?要变通解决此问题,我返回到Application.cfm,直到确定正确创建了Application.cfc。

谢谢

coldfusion coldfusion-9
1个回答
0
投票

[Application.cfc中的应用程序作用域变量是否比Application.cfm中的消耗更多的内存

答案:否。完全没有。

您可能将不应该设置的内容设置为application范围。该代码表明,对于所有用户,对于每个请求,都应重新定义应用程序级变量。似乎该值应该是request级别的变量,因为它会根据用户及其设置而变化。

  • 用户1启动请求并设置application.URL_Images的值。
  • 用户2启动请求并设置application.URL_Images的值。
  • 用户1完成了他们的请求并读取了application.URL_Images的值,该值现已更改。
  • 用户2完成了他们的请求,一切正常。
  • 用户1想知道为什么看到扭曲的徽标。

我将探讨应用程序范围中的其他内容,并确保其中存在内容,何时加载以及是否需要在其中“缓存”。

您还可以检查您的JDK版本,并确保它是CF 9支持的最新版本,并且已为应用程序实例分配了足够的内存。

© www.soinside.com 2019 - 2024. All rights reserved.