问题标签 [application-variables]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
636 浏览

php - PHP 缓存而不弄乱文件权限(另外,如何在 PHP 中模拟 ASP 应用程序变量)

我正在尝试在 PHP 脚本中实现某种缓存,该脚本将发送到许多不同的客户端/站点,这些客户端/站点将由相当非技术的用户使用各种 Web 主机进行部署。由于用户的非技术性质,我想避免要求他们调整文件权限。缓存需要跨会话,因此不使用会话变量。如果我在 ASP 中对此进行编码,我会使用应用程序变量,但它们在 PHP 中不存在(据我所知)

有没有人对如何做到这一点有任何建议?

以下是我考虑过的一些可能性,对此的任何评论都会很有用:

  • 通过系统临时文件夹中的文件进行缓存 - 我可以使用 sys_get_temp_dir() (或 PHP4 上的一些家庭推出的类似函数)来帮助找到这样的文件夹。这里的缺点是它可能不适用于使用 openbase_dir 限制的主机
  • 我看过的一些网站提到欺骗 PHP 使所有用户会话共享相同的会话状态,从而迫使会话变量像会话变量一样工作。当然,我现在找不到那个帖子了……无论如何,这似乎很可怕。(一旦我再次找到它,我会用这个帖子的链接更新这个问题)
  • 使用像亚马逊的简单存储服务这样的第三方数据存储——看起来有点矫枉过正
  • 在我控制的服务器上缓存数据,并让客户端在每次点击时从那里下载新数据。

再一次,对这些想法或任何新想法的任何评论将不胜感激。

更新:我尝试使用 session_id() 来使用共享会话状态,但它不起作用。每个会话都维护自己的“GlobalCache”,有什么想法吗?:

更新:有些人建议使用 memcached,这实际上对某些人来说是一个很好的解决方案,但由于我无法控制终端服务器环境,所以它不是一个选项。这个想法是有一个脚本,人们可以通过 FTP 上传到一个开箱即用的共享主机帐户。

更新:有人建议使用脚本创建我自己的缓存文件夹,但我不需要在已经具有写入权限的文件夹中创建这样的文件夹吗?

更新,找到解决方案:我最终找出了我的全局会话脚本中的问题,并为此发布了我自己的答案。感谢大家的帮助。

0 投票
4 回答
95 浏览

performance - 应用变量和性能?

使用更多数量的应用程序变量会影响 asp.net 网站的性能吗?

0 投票
2 回答
200 浏览

ado.net - 在 DataAccesslayer 中访问应用程序变量(同一解决方案下的另一个项目)

我有一个包含 3 个项目的解决方案。一个 UI(包含网页),一个用于 BL,一个用于 DataAccess 层。现在我想访问存储在我的 DataAccess 层项目中的一个类中的应用程序变量中的一个值。我如何访问应用变量在那里?

0 投票
5 回答
56049 浏览

tomcat - 在 JAX-RS 资源中获取 ServletContext

我正在玩 JAX-RS,部署在 Tomcat 上。基本上是:

有什么方法可以ServletContext在我的 JAX-RS 资源中获取?

0 投票
1 回答
1439 浏览

windows-7 - 在 Windows 7 上将数据保存到注册表

我听说 Windows 7 限制了对其注册表的访问,因此应用程序无法直接对其进行写入。是这样吗?我正在用 C# 开发一个应用程序,我希望能够在会话之间保存诸如端口设置、上次使用的文件等内容。注册表仍然是一个不错的选择,还是现在有另一种首选的方法?谢谢。

0 投票
5 回答
195 浏览

asp.net - 在会话中存储我的自定义类的 1000 多个实例的列表是内存问题吗?

将我的自定义类的 1000 个实例的列表存储到会话变量中是一种好方法吗?我的 asp.net 网络应用程序需要多语言支持,我将标签存储在一个表格中。我将有多个用户,他们有自己的语言偏好和文本(标签内容)偏好。

我正在考虑加载标签并将其存储在会话变量中并访问它以在页面中使用。将其存储在应用程序变量中不起作用,因为每个客户都有自己的标签文本。所以存储会话是一种好方法这个 ?我想到目前为止我将拥有近 1000 个标签,并且可能会随着应用程序的增长而增加。

我的自定义类有 2 个属性。语言代码和语言名称

出于某种原因,我不能使用 asp.net 资源文件 :(

您对此有何看法?

0 投票
3 回答
629 浏览

c# - 在 ASP.NET MVC3 中共享对象应用程序范围

我有一个带有 C# 和 Razor 的 ASP.NET MVC3 Web 应用程序。

通过 View 中的表单,我将Context.User.Identity.Name提交到Controller A中的操作方法。

我想在应用程序范围内(在多个控制器之间)使用这个变量。现在我只能将它分配给Controller A中的全局变量_UserName ,但当然它在Controller B中不可用。

有可能这样做吗?

谢谢

弗朗切斯科

0 投票
5 回答
1478 浏览

coldfusion - 当 CFC 用于数据源和数据库模式时,如何避免在 CFC 中使用 SESSION 变量?

我正在尝试重构我的所有 CFC 以避免使用 SESSION 和 APPLICATION 变量(这不是一件容易的事)。

然而,在这个应用程序中,每个数据库调用都使用 SESSION 变量,因为不同的登录用户可能正在访问不同的数据库和模式:

我不想麻烦将这两个 SESSION 变量传递给每个访问数据库的方法调用。尤其是这种情况,因为我不想在远程 AJAX 调用中传递 DSN 和模式名称。

这样做的最佳实践是什么 - 对于所有不应在 CFC 中使用的范围?

0 投票
2 回答
297 浏览

asp.net - ASP.NET 会话的寿命是否比应用程序长

这可能是一个愚蠢/蹩脚的问题,尤其是在使用 ASP.NET 这么长时间之后:),但我需要确定。

是否可以让会话(即 ASP.NET 会话)比应用程序(应用程序实例/应用程序域/应用程序变量)寿命更长?

换句话说,如果在 Global.asax 中调用 Application_End,是否表示将不再有活动会话?并且任何新请求都会导致 Application_Start 后跟新的 Session_Start?

注意,Session 可能并不总是 InProc,会话可能在 State server 或 SQL server 中。

0 投票
2 回答
45 浏览

android - 应用变量的效率?

我有一个数据库,我需要从中提取大量数据。现在我在需要时获取该数据,即我创建了一个处理数据库交互的类,并且每当活动需要数据时,它将调用该类来获取数据。因此,一次 Activity 在内存中只有最少量的数据(即它正在使用的数据)。但是每次我更改活动时,我都必须执行数据库访问以获取新活动的数据。

方法二

与此相反,我有另一种选择,其中我创建一个应用程序对象,然后在开始时执行数据库访问,然后将我需要的所有数据(在所有活动中)存储在应用程序对象中。每当我需要数据时,我都会引用应用程序对象。这样做的缺点是我将持有太多我在给定时刻没有使用的额外数据。

以上两种方法哪个更好?

先感谢您。