【问题标题】:How to start IIS Express manually with a virtual path?如何使用虚拟路径手动启动 IIS Express?
【发布时间】:2015-03-16 00:48:59
【问题描述】:

我们有一堆 Web 应用程序,它们可以通过命令行上的脚本启动。该脚本使用 Cassini Web 服务器并使用相关的/port/path/vpath 命令行参数运行它。到目前为止一切顺利。

现在我们中的一些人已经升级了他们的机器并获得了 VS 2013 而不是 VS 2012。即使他们可以继续使用 Cassini,但许多人还是希望使用 IIS Express 并使用相同的脚本,现在必须能够启动 IIS快递。

这就是我的问题。 IIS Express 和 Cassini 都有 /port/path 命令行参数,但是 IIS Express 不支持 /vpath 参数(为什么对我来说仍然是个谜)。

我的问题很简单 - 可以使用虚拟路径启动 IIS Express 吗?我想到的唯一解决方案是:

  1. 使用/port/path 启动IIS Express。
  2. 解析命令行提取自动生成的配置文件路径。
  3. 修改配置文件,添加相关虚拟目录。

当然,这应该由脚本自动完成。 (我已经解决了 IIS Express 期望键盘输入“Q”终止的问题 - 它作为 powershell 后台作业启动)。

反正我不太愿意实施这个方案,感觉这不是一个很好的办法。

有什么想法吗?

【问题讨论】:

    标签: powershell iis-express


    【解决方案1】:

    我不记得 vpath 参数在 Cassini 中的作用,但当然在 IIS (Express) 中您不能启动虚拟目录的实例,您也可以启动包含虚拟目录的站点。

    所以在 IIS Express 中设置多个站点并启动您需要的站点。

    如果您有一个站点和多个虚拟目录指向不同位置的情况,您可以在启动站点之前使用$env:ProgramFiles\IIS Express\appcmd.exe 进行更改。

    或者我不明白你的问题?

    【讨论】:

    • IIS express 在命令行上使用 /path 和 /port 参数启动。这会生成带有“/”vpath 的配置文件。您是否建议手动修改文件?我可以这样做,但是用户不再能够像以前使用 cassini 那样运行 iis express。
    • 我想我不确定您要做什么。为什么需要 vpath?我会设置我需要的所有站点,然后按名称或 ID 启动它们。是的,这可能与您以前所做的不同。将 IIS Express 视为没有 GUI 的 IIS。您无需手动更改文件,请使用 appcmd.exe 调整设置,如果需要,请在您的启动脚本中进行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    相关资源
    最近更新 更多