Iis 多应用程序Coldfusion 7服务器和CFC路径

Iis 多应用程序Coldfusion 7服务器和CFC路径,iis,coldfusion,iis-6,cfc,coldfusion-7,Iis,Coldfusion,Iis 6,Cfc,Coldfusion 7,我们有一个Coldfusion服务器,它承载多个应用程序,所有应用程序都位于它们自己的子文件夹中。比如: /webrootfolder/applicationA /webrootfolder/applicationB 此外,在开发服务器上,每个开发人员都有一个给定应用程序的副本,每个副本都是Subversion工作副本: /webrootfolder/applicationA_dev1 /webrootfolder/applicationA_dev2 /webrootfolder/appl

我们有一个Coldfusion服务器,它承载多个应用程序,所有应用程序都位于它们自己的子文件夹中。比如:

  • /webrootfolder/applicationA
  • /webrootfolder/applicationB
此外,在开发服务器上,每个开发人员都有一个给定应用程序的副本,每个副本都是Subversion工作副本:

  • /webrootfolder/applicationA_dev1
  • /webrootfolder/applicationA_dev2
  • /webrootfolder/applicationA_dev3
由于我们运行的是Coldfusion 7(主要是升级阻力),我发现自己陷入了困境,因为我想在软件包中使用CFC。以下是各种问题、尝试的解决方案以及这些问题:

  • 仅当存在单个包时,使用相对组件名称才有效,这会使单个文件夹中的组件变得一团糟
  • 只要您从不引用父包中的组件,使用子包就可以工作,这在扩展、实例化或使用组件作为参数类型时似乎很容易发生
  • 从根目录开始使用完整的CFC路径不适用于每个开发人员的多个副本。 **使用带有变量的动态路径是我目前的解决方案。。。直到我意识到它不适用于extends或cfargument类型。。。 **使用服务器映射在开发中不起作用,因为每个开发人员副本都有一个别名。我希望代码与文件夹无关。 **使用特定于应用程序的映射(在application.cfc中定义)不起作用,因为CF7而不是CF8+
  • 我以前的解决方案是创建所需CFC的本地虚拟副本,并包含实际CFC的内容(带有相对路径“../”)。这是可行的,但是到处都是克隆人真是一团糟。 **最近,我发现这个解决方案并不总是有效的。Coldfusion显然被各种CFC中包含的同名函数所混淆
  • 在每个开发人员的机器上使用开发Coldfusion服务器,允许应用程序路径始终为
    /webrootfolder/applicationA
    (由Mark A Kruger建议)。 **这里的主要问题是说服计算机团队让我们安装这个。这可能需要很长时间,我担心我没有。 **网络配置可能存在其他问题(可能允许访问DB,我不确定),如果允许的话,还必须经过网络团队并花一段时间
每个应用程序/文件夹一个网站-更改根目录 我花了一些时间来探索在IIS 6中配置网站/应用程序的方式。经过一些研究,我发现可以像在Unix/Apache下使用的那样创建绑定。目前,所有应用程序都位于web根目录的子文件夹中。别名已配置,例如,使“domain.com/appA”指向“/webrootfolder/applicationA”文件夹。但它仍然是一个单一的IIS网站,有很多子路径。因此,Coldfusion根目录(用于CFC和includes)基于该网站的根目录(/webrootfolder)

我做了一个快速测试,并在服务器上创建了第二个IIS网站,绑定到端口8080(而不是默认的80)。我将这一点直接指向/webrootfolder/applicationA/cfm(它实际上是应用程序的根)。这样,Coldfusion将该文件夹识别为根目录,并实例化“对象”CFC将其查找为
/webrootfolder/applicationA/cfm/Object.CFC

这正是我们在我以前的工作中所做的,而且效果非常好。也就是说,这是一家小公司,我担心这个解决方案可能会有问题。主要是:我如何向人们指出这个网站?使用端口绑定对用户不是很友好(我们的用户不是技术人员)。为每个应用程序指定一个特定的域听起来不错,但可能代价高昂,特别是如果涉及HTTPS(或者我听说过)。子域可能是另一种解决方案,但似乎有类似的问题

所以 我错过什么了吗?我是否被一个“混乱”的解决方案困住了


我可以访问Coldfusion管理面板,可能还可以访问IIS配置,但如果某个解决方案影响服务器上其他应用程序的路径或URL,我很可能会受到限制。

我曾经向伊利诺伊州南部的一位老农询问到一个钓鱼湖的方向。他搔了搔头,然后对我说:“儿子,你不能从这里到那里。”:)我想你可能在同一条船上

问题不在于包装,问题在于SDLC违背了最佳实践。任何类型的“dev”服务器都应该镜像生产—这是您已经用自己的方法处理过的事情。此外,您的开发人员似乎在dev服务器上都有自己的代码副本。这让我回想起12年前,我和我的朋友刚刚开始我们的小型开发商店,在一个开发服务器上托管代码,并直接针对它进行开发——但这种方法并不容易维持,正如您所发现的,您的团队越大,情况就越糟

您应该做的是将dev服务器作为生产的镜像运行。然后允许您的开发人员在自己的工作站上运行代码——我们称之为本地开发。然后您使用源代码管理来处理差异、合并分支等。在这种情况下,您的每个开发人员都可以按照您的意愿使用打包,而这类问题就顺其自然了


我意识到我给你的解决方案可以说是“解决棘手的问题”——但这是正确的。我猜想您在当前配置上浪费了一些精力和时间,我怀疑生产部署甚至为QA组装代码目前对您来说是一个巨大的挑战。

我听说过这个概念,但到目前为止在我的工作中从未遇到过。那么,每个开发人员都应该在他们的机器上安装Coldfusion服务器,以及一个DB服务器?然后我们都有了文件结构和一个/application文件夹,可以使用“application.path”。