问题标签 [coldfusion-2018]
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.
session - Coldfusion 2018 集群和会话复制不起作用
设置几个新的 Coldfusion 2018 服务器并将首次使用集群并遇到一些问题。
我在会话复制时遇到问题。基本上,会话变量似乎在集群中的节点之间复制,但在短时间内随机终止。
一点设置信息:
- 负载平衡器后面的 2 个 Web 服务器 (Windows Server 2012)
- 在每台 Web 服务器上都有一个 Coldfusion 集群,该集群由 2 个本地实例(尚不清楚这是否有用 - 将在单独的问题中提出)和 2 个远程实例(远程引用每个相对服务器的本地实例)组成
- 为简单起见,目前仅在具有本地 Coldfusion 实例的单个服务器上进行测试 - 将遥控器排除在外,直到我可以让事情在本地可靠地工作
- 使用 J2EE 会话变量
- Coldfusion 会话超时设置为 2 小时
- 在每个 Coldfusion 实例中,channelSendOptions 设置为“6”
这是我所做/经历的:
- 我们有一个需要登录的 Web 应用程序,并在登录时将用户信息存储在会话中。
- 我对 Web 应用程序进行了小修改,以显示哪个集群实例为我当前的请求提供了服务。
- 设置集群后,我启动 Web 应用程序并登录,注意显示登录页面的实例。
- 登录后,我立即返回登录屏幕(应用程序在会话中检查用户信息,如果未找到则重定向到登录)
- 调试显示我实际上正在登录,但是在登录后重定向到某个新页面后,用户信息将从会话中消失。
- 连续多次登录尝试(相同的凭据,只是一遍又一遍地尝试)显示有时登录会正常进行,我会进入应用程序。但是,如果我刷新页面或转到另一个页面,会话将很快丢失,但随机丢失(在几次页面刷新内)。
- 为了简化问题以尝试弄清楚发生了什么,我创建了一个简单的 .cfm 文件,它绕过所有登录内容并做了一件事:向会话添加一个简单的字符串值,然后转储会话和实例名称。** 我运行了一次脚本,注意到正在使用哪个实例,并且该会话包含我的值。** 然后我编辑了脚本,使其不再设置会话值。** 然后我一遍又一遍地点击刷新,所以我可以确认:
- 集群中的两个实例都在为请求提供服务
- 当我在实例之间切换时,会话值始终可用。
- 同样,复制将起作用,并且对于几次刷新,我可以看到我的会话变量在每个实例上都可用......直到它不是。在随机刷新/秒数(例如 2 - 10 次刷新之间)后,该值将消失。
我不知道为什么会发生这种情况。我们考虑使用 Redis 作为会话存储,看看它是否有帮助,但坦率地说,我们的团队没有这方面的经验,在 Windows 中工作很笨重,如果我们能提供帮助,我们真的不希望我们的基础设施中出现更多移动部件它。
任何关于正在发生的事情的见解以及关于如何在幕后查看并查看会话复制发生了什么的建议将不胜感激。
谢谢
添加一些代码和屏幕截图。屏幕截图显示了每次页面刷新后的会话状态以及当前正在为页面提供服务的实例。最后两张图片代表刷新 11 和 13 - session 变量在 11 中丢失,我去了 13,因此我们可以看到变量在另一个实例上也丢失了。还有一些集群/会话设置的图片。
以下是简单的测试脚本。第一行在第一次运行时未注释以创建会话变量,并为每次后续运行注释掉。
coldfusion - 哪个 EncodeFor 应该用于定位?
EncodeFor
应该使用哪个location()
?
如果我想通过位置推送一些数据,它应该是什么样子?
或者
或者
或者
还有什么?
jquery - 带有 URL 的数据属性上的哪个 EncodeFor
我正在尝试将 URL 放入data-
属性中。尤其
或者也许应该是
请注意,ID 可以有特殊字符
编辑:
很久以后我要去
coldfusion - 避免 cgi 共享范围
我有很多 FW/1 控制器,它们可以根据请求是获取还是发布来执行不同的功能。我有很多看起来像这样的代码
我最近安装了 Commandbox 的CodeChecker CLI ,并在我的控制器上松开了它。我收到如下警告:
我回到了FW/1 参考手册,我注意到它有一个名为getCGIRequestMethod()
问题
我一直在测试POST
错误吗?我究竟被鼓励避免什么?
coldfusion - 是否可以在应用程序之间共享 CFC?
我正在运行多个应用程序(网站),它们之间使用通用 CFC,例如用于字符串格式化和文本解析。
我发现必须跨多个站点更新相同的功能很困难,并且希望只拥有一个任何 ColdFusion 应用程序都可以作为实例的通用 CFC 库。如果 CFC 库的位置可以在任何地方(在同一台服务器上或可能在不同的服务器上或在云中),那就太好了。
查看文档我不清楚这是否可能以及如何做到这一点。如果不是,我们有哪些选项可以跨应用程序重用代码?谁能指出我正确的方向?
coldfusion - 更简洁的数据过滤方式
我有一个结构数组中的数据。我无权访问查询变量,我需要过滤数据。所以我有
我正在检查项目中的所有字段。
我不喜欢的是它似乎高度重复。很可能可以添加一个新的结构键。或者现有的被删除。我正在寻找一种更清洁的方法来做到这一点。
coldfusion - 将数据传递给使用函数的成员函数
我有一个作为服务的 cfc。它只有功能。到现在为止还没有任何成员变量。
登录.cfc
我不喜欢我必须设置arguments.password
为variables.password
只是让里面的函数.filter
可以看到它。没有更清洁的方法来做到这一点吗?
utf-8 - UTF-8 value of a character in ColdFusion?
In ColdFusion I can determine the ASCII value of character by using asc()
How do I determine the UTF-8 value of a character?
coldfusion - 创建会话变量
我对 ColdFusion 很陌生(昨天开始)。我正在尝试在中创建一个会话变量checklogin.cfm
,它等于从表单输入的用户名。所以我可以在结果页面上显示用户名。有可能这样做吗?或者有没有更好的方法来做到这一点?
应用程序.cfm
check_login.cfm
主页.cfm
登录.cfm
结果.cfm
问题出在结果页面上,它说Element USERNAME is undefined in SESSION
指向行<b><font size="6">Hi #session.userName#! </font></b>
coldfusion - 使用 || 或在冷融合中使用 isDefined 的 if 语句
我在 Coldfusion 2018 中使用会话变量,我试图弄清楚如何通过设置 if 语句的方式添加变量。
if 语句几乎相同,andor_1
或者bandor_1
可能并不总是存在,这就是我使用 isDefined 的原因。
我试过使用||
and or
。
任何结合这些的帮助将cfifs
不胜感激。