2

我有一个使用 isapi-wsgi 模块运行 python 网站的 IIS 7.5 Web 服务器。由于该网站绑定到端口 80,我希望 python 网站在该网站的添加应用程序下运行。

生成相应 isapi 模块的代码如下所示

import isapi_wsgi

def install_virtual_dir():
    import isapi.install
    params = isapi.install.ISAPIParameters()
    # Setup the virtual directories - this is a list of directories our
    # extension uses - in this case only 1.
    # Each extension has a "script map" - this is the mapping of ISAPI
    # extensions.
    sm = [isapi.install.ScriptMapParams(Extension="*", Flags=0)]
    vd = isapi.install.VirtualDirParameters(
        Server="dsh",
        Name=site_root,
        Description="CherryPy Application Stable",
        ScriptMaps=sm,
        ScriptMapUpdate="end",
        )
    params.VirtualDirs = [vd]
    isapi.install.HandleCommandLine(params)


if __name__ == '__main__':
    # If run from the command-line, install ourselves.
    install_virtual_dir()

不幸的是模块无法注册相应的dll导致错误

ItemNotFound: No web sites match the description 'dsh'

虽然我已将应用程序“dsh”添加到网站。像“网站/dsh”这样的东西也不起作用。

有没有人遇到过同样的问题并有解决方案?

4

1 回答 1

1

如果有人遇到同样的问题,我从来没有解决过这个问题,我只是找到了一个解决方法,就是简单地评论而不是使用该行

 params.VirtualDirs = [vd]

而是手动将生成的 dll 添加到 IIS 内的处理程序映射中。

于 2013-03-01T11:42:28.173 回答