我应该在 onApplicationStart() 函数内部或外部放置 DSN(数据源)定义吗?

Should I place a DSN (datasource) definition inside or outside onApplicationStart() function?

什么时候将 DSN 定义放在 onApplicationStart() 函数内部与函数外部比较合适?

我见过这个方法:

<cfset this.datasource = "datasource_name">
  <cffunction name="onApplicationStart" returnType="boolean" output="false">

而且我是这样看的...

<cffunction name="onApplicationStart" returnType="boolean" output="false">
  <cfset application.dsn = "datasource_name">

我能找到这种格式的唯一原因是将数据源留在函数之外是一种较旧的、仍受支持但已过时的处理方式。

还有其他原因吗?

我确实找到了 ,但它只说明了应该在何处声明 DSN,但没有说明何时应该在内部或外部声明 DSN。

问:我应该将 DSN(数据源)定义放在 onApplicationStart() 函数内部还是外部?

A​​:外面

这样 <cfquery>QueryExecute() 和 ORM 就可以利用该数据源信息而无需重复该信息。