【问题标题】:Getting current IIS app name with ColdFusion使用 ColdFusion 获取当前 IIS 应用程序名称
【发布时间】:2014-01-05 12:24:08
【问题描述】:

我正在尝试在我的 ColdFusion 脚本中获取当前的 IIS 应用程序名称,但我不知道从何处获取此信息。我想使用应用名称通过运行 appcmd.exe 使用 cfexecute 与 IIS 通信。

<cfexecute name="c:\windows\system32\inetsrv\APPCMD" arguments="add site /name:#arguments.sitename# /bindings:""http/*:80:#arguments.binding#"" /physicalPath:""#arguments.physicalPath#""" timeout="60"></cfexecute>

问题是我无法确定应用名称是什么。我可以将它保存在数据库中的某个位置,但我真的很想动态获取它,以便脚本可以在不配置应用程序名称的情况下运行。如果我能够从某个地方(或者可能基于当前的主机头)获取它,我可以动态填充

/name:#arguments.sitename#

我尝试使用 PHP 和 JSP 示例搜索如何执行此操作,但到目前为止,我还没有找到任何获取应用程序名称的方法。

【问题讨论】:

  • 那么您找到了工作的 PHP 和 JSP 示例吗?您能否在问题中包含指向它们的链接?
  • 不,很遗憾我没有找到它们。
  • IIS 没有可以与之交谈的 API 吗?
  • 但是你可以很容易地从 CF 调用 .net 对象...livedocs.adobe.com/coldfusion/8/htmldocs/…
  • 我不确定执行以下操作的安全后果,如果有,但这是一个想法。您没有指出哪个版本您正在使用的 IIS。在更高版本的 IIS 中,所有设置都写入服务器上的 XML 文件。我相信这是从 IIS 7 开始的。理论上,您可以授予 ColdFusion 读取 XML 文件并检索所需信息的权限。但我不太确定我会这样做。这些 XML 文件是 IIS 安装的核心。任何更改都可能对您的服务器有害。

标签: iis coldfusion coldfusion-8


【解决方案1】:

从上面 cmets 中的@Miguel-F 链接 (http://www.iis.net/learn/get-started/planning-your-iis-architecture/iis-7-and-iis-8-configuration-reference) 开始,您可以在 %windir%\system32\inetsrv\config\ 中读取一个名为 applicationHost.config 的文件 - 此文件包含集合在 IIS 中配置的站点。那是你追求的那种东西吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-25
    • 1970-01-01
    • 2010-11-24
    • 2013-01-01
    • 2022-12-30
    • 2011-02-17
    • 1970-01-01
    • 2014-07-17
    相关资源
    最近更新 更多