如果我尝试设置一个客户端变量,只需<cfset Client.X = 0 />
在 onRequestStart 中执行一个简单操作,请求就会占用一秒钟(而不是仅仅几毫秒),以下是输出coldfusion-out.log
:
Aug 22, 2013 15:51:54 PM Information [ajp-bio-8012-exec-9] - [Macromedia][SQLServer JDBC Driver][SQLServer]String or binary data would be truncated.
Aug 22, 2013 15:51:55 PM Information [ajp-bio-8012-exec-9] - client variable JDBC STORE - retry 1
Aug 22, 2013 15:51:55 PM Information [ajp-bio-8012-exec-9] - [Macromedia][SQLServer JDBC Driver][SQLServer]String or binary data would be truncated.
Aug 22, 2013 15:51:55 PM Information [ajp-bio-8012-exec-9] - client variable JDBC STORE - retry 2
Aug 22, 2013 15:51:55 PM Information [ajp-bio-8012-exec-9] - [Macromedia][SQLServer JDBC Driver][SQLServer]String or binary data would be truncated.
Aug 22, 2013 15:51:55 PM Information [ajp-bio-8012-exec-9] - client variable JDBC STORE - retry 3
Aug 22, 2013 15:51:55 PM Information [ajp-bio-8012-exec-9] - [Macromedia][SQLServer JDBC Driver][SQLServer]String or binary data would be truncated.
Aug 22, 2013 15:51:55 PM Warning [ajp-bio-8012-exec-9] - Failed to store CLIENT variables to datasource mydsn - [Macromedia][SQLServer JDBC Driver][SQLServer]String or binary data would be truncated.
根据消息,该变量不会被存储 - 但我不确定为什么它认为任何东西都会被截断 - 它并不是很多数据。
我很确定这之前一直运行良好,但我不确定它什么时候开始发挥作用(我一直在做涉及远程 http 请求的工作,所以在那期间不会注意到额外的一秒钟)。
如果我删除 client.x 行,它会立即响应并且不会记录警告。
同样,如果我将客户端变量的存储机制更改为 cookie 或注册表,则不会发生此问题。
我尝试删除 CDATA 和 CGLOBAL 表并重新分配数据源以重新创建它们,但这没有效果。