小编nos*_*leg的帖子

在ColdFusion 10中使用CF_SQL_NVARCHAR的详细信息是什么?

有关更新数据库的ColdFusion 10文档有关于ColdFusion 10中与数据库相关的增强功能的部分.那个页面提到现在有支持CF_SQL_NVARCHAR,但没有关于它们的细节.此外,cfqueryparam文档尚未更新以包含它们的存在.

cfqueryparamColdFusion 9文档提到CF_SQL_VARCHAR映射到varcharMSSQL中.除非ColdFusion Administrator 数据源设置String Format启用该设置,否则这是正确的.在哪种情况下CF_SQL_VARCHAR映射到nvarchar.这个记录不完整的功能是一个hack,可能会导致 ColdFusion中的性能问题.

所以他们介绍的很棒CF_SQL_NVARCHAR,但了解它是如何工作的会很好.它只是CF_SQL_VARCHAR使它毫无意义的别名?它总是发送字符串nvarchar吗?如果是这样,CF_SQL_VARCHAR总是发送varchar

我希望为了向后兼容,它实现如下:

如果String Format已启用CF_SQL_VARCHARCF_SQL_NVARCHAR两者都映射到nvarchar.

如果String Format已禁用,则CF_SQL_VARCHAR映射到varcharCF_SQL_NVARCHAR映射到nvarchar.

这意味着任何CF10之前的站点都可以转移到CF10并运行,在CF10之前具有相同的性能考虑因素.

该重写所有查询新的网站,或者网站相匹配CF_SQL_VARCHAR,并CF_SQL_NVARCHAR与数据库设计将无法获得性能损失是不可避免的预CF10.

任何人都可以确认是否是这种情况; 如果有官方的东西更好吗?

coldfusion coldfusion-10

12
推荐指数
1
解决办法
3880
查看次数

设置变量时,ColdFusion中的范围评估顺序是什么?

使用变量时,范围评估顺序是众所周知/记录的.但是,在设置变量时,我找不到有关范围评估顺序的任何信息.

人们会认为它是相同的列表,但似乎有一些警告如下所示:

<cfset qryChain = queryNew("id,next")>
<!--- add some data so the cfloop kicks in --->
<cfloop query="qryChain">
    <cfset Next = StructNew()>
    <cfset Next.id = qryChain.next>
</cfloop>
Run Code Online (Sandbox Code Playgroud)

上面的代码试图重用它不应该的变量名,但是以一种意想不到的方式失败.

由于cfsets在查询循环中,因此范围评估顺序的第4项应该用于两者.而是Next被评估为Variables.Next(项目6),然后Next.id被评估为Variables.qryChain.next.id(项目4)并且失败.

这记录在哪里?它只是上面"使用"列表的第1-6项,但有一些注意事项?这些警告是故意还是错误?还有什么其他警告?

coldfusion coldfusion-9

8
推荐指数
2
解决办法
1582
查看次数

ColdFusion的可信缓存会影响哪些文件扩展名

可信缓存缓存哪些文件扩展名?CFM和CFC是显而易见的,但CFR呢?是否有可信任缓存捕获的其他文件扩展名?

我知道/怀疑文件进入模板缓存的一些地方是:

  • 直接在URL中指定的(cfm,cfml,cfc,多吗?)
  • cfinclude(cfinclude中使用的任何文件扩展名,例如<cfinclude template="./some.css">)
  • cfmodule(cfm更多?)
  • cfimport(cfm,还jartld?)
  • cfobject,createobject(cfc还有.net,com,java和web服务?)
  • cfreport(cfr可以使用cfcompile实用程序吗?)

是否有其他标签与将内容添加到模板缓存中具有相同的效果?

coldfusion coldfusion-9 cfimport

6
推荐指数
3
解决办法
644
查看次数

ColdFusion会话与J2EE会话

ColdFusion会话与J2EE会话有什么好处吗?

ColdFusion的会议文件中提到J2EE会话的好处,而不是ColdFusion的会话的任何好处.自ColdFusion MX(2002年发布)以来,J2EE会话已经可用,但仍有很多人使用标准的ColdFusion会话.是否存在ColdFusion会话不存在的J2EE会话的任何缺点?

与ColdFusion会话管理相比,J2EE会话管理具有以下优势:

  • J2EE会话管理使用会话特定的会话标识符jsessionid,该标识符在每个会话开始时重新创建.
  • 您可以在ColdFusion页面和您从ColdFusion页面调用的JSP页面或Java servlet之间共享会话变量.
  • 会话范围是可序列化的(可转换为字节序列,以后可以完全恢复到原始对象中).使用ColdFusion会话管理,会话范围不可序列化.只能在服务器之间共享可序列化的作用域.

因此,请考虑在以下任何情况下使用J2EE会话管理:

  • 您希望最大化会话安全性,尤其是在您还使用客户端变量的情况下
  • 您希望在单个应用程序中共享ColdFusion页面与JSP页面或servlet之间的会话变量.
  • 您希望能够在维护客户端标识cookie的同时手动终止会话,以供客户端范围使用.
  • 您想支持群集会话; 例如,支持服务器之间的会话故障转移.

coldfusion session java-ee

6
推荐指数
1
解决办法
3043
查看次数