Caching 正在跳过必填字段的CachePut

Caching 正在跳过必填字段的CachePut,caching,coldfusion,optional-parameters,coldfusion-2016,cfcache,Caching,Coldfusion,Optional Parameters,Coldfusion 2016,Cfcache,我想使用CachePut()。我特别想 CachePut(id = _attr.path, value = attr.qryPath, region = variables.cacheRegion); id、value和region分别是第一、第二和第五个参数 Adobe说第三个到最后一个参数是可选的。资料来源: 我如何通过第一、第二和第五级考试?当我尝试时,我得到: 以上评论: CF2016未执行命名参数。这是从CF2018开始的。所以你必须去掉名字,在第三和第四位置传递一些东西。通常,您

我想使用
CachePut()
。我特别想

 CachePut(id = _attr.path, value = attr.qryPath, region = variables.cacheRegion);
id
value
region
分别是第一、第二和第五个参数

Adobe说第三个到最后一个参数是可选的。资料来源:

我如何通过第一、第二和第五级考试?当我尝试时,我得到:

以上评论:


CF2016未执行命名参数。这是从CF2018开始的。所以你必须去掉名字,在第三和第四位置传递一些东西。通常,您只需传递正常的默认值。我不确定CF2016中的标签是什么,但F2018文档似乎表明默认值都是空字符串

试一试

示例:


属性路径=“_路径”;
attr.qryPath=“querypath”;
variables.cacheRegion=“newCacheRegion”;
CacheRegionNew(variables.cacheRegion);
//WriteMap(CacheGetProperties(variables.cacheRegion));
CachePut(attr.Path,attr.qryPath,“,”,variables.cacheRegion);
writeDump(CacheGet(attr.Path,variables.cacheRegion));

CF2016未执行命名参数。这是从CF2018开始的。所以你必须去掉名字,在第三和第四位置传递一些东西。可能
CachePut(\u attr.path,attr.qryPath,“,”,variables.cacheRegion)
。我认为空字符串是第3个和第4个参数的默认值。将空字符串显示为这些参数的默认值,但这适用于CF2018。不确定2016年6月的情况是否相同。允许我使用空字符串。@肖恩:空字符串方法似乎有效
CachePut(_attr.path,attr.qryPath,"","",variables.cacheRegion) ;
<cfscript>
    attr.Path = "_path" ;
    attr.qryPath = "querypath" ;
    variables.cacheRegion = "newCacheRegion" ;

    CacheRegionNew(variables.cacheRegion);

    //WriteDump(CacheGetProperties(variables.cacheRegion));

    CachePut(attr.Path,attr.qryPath,"","",variables.cacheRegion);

    writeDump(CacheGet(attr.Path,variables.cacheRegion));
</cfscript>