【问题标题】:Accessing Virtual Directory from console application从控制台应用程序访问虚拟目录
【发布时间】:2013-10-01 06:34:25
【问题描述】:

我有控制台应用程序,它将尝试访问安装在 IIS 中的应用程序(即虚拟目录)以获取数据库连接信息。在 windows xp (IIS 5.1) 中执行此操作时,它可以工作,但在 windows 7 (IIS 7.5) 中不工作。控制台应用程序的 Target .Net 框架是 2.0、3.5(有 5 个应用程序),因为它是多年前开发的。现在尝试从 XP 迁移到 Win 7,但在访问 IIS 文件夹时遇到了一些问题。 请建议在win 7中访问虚拟目录文件夹。任何代码示例都会有很大帮助。

*错误:*System.Runtime.InteropServices.COMException (0x80070005):访问被拒绝。

【问题讨论】:

    标签: c# windows-7 iis-7.5 virtual-directory


    【解决方案1】:

    查看您用于访问虚拟目录的代码会很有用,但在更改代码之前,请检查问题是否是由于安全权限引起的。如果您尝试访问与 Windows 7 中的虚拟目录关联的物理目录,则您可能在没有足够权限的情况下运行控制台应用程序。请尝试以管理员权限运行它。

    检查您的代码后,我发现您正在使用目录服务访问 IIS 7,因此请确保您在该计算机上安装了 IIS 元数据库和 IIS 6 配置兼容性。在 Windows 7 中,您可以在“控制面板”->“程序”->“程序和功能”->“关闭 Windows 功能”中找到它,然后转到“Internet 信息服务”->“Web 管理工具”->“IIS 6 管理兼容性”。您需要在 IIS Metabase 和 IIS 6 配置兼容性中启用检查

    不过,从代码访问和管理 IIS 7 的建议方法是使用 Microsoft.Web.Administration 库提供的 IIS 管理 API。您可以查看一个示例,展示如何在以下问题中执行您需要的相同任务:

    How to get the IIS virtual dir & web application's physical paths with C# code?

    【讨论】:

    • 我已经发布了用于访问虚拟目录的代码。适用于 XP (IIS 5.1) 但不适用于 win 7 机器 (IIS 7.5)。抱歉,代码在这里发布后变得笨拙。
    • 我也尝试过以管理权限运行,但是在尝试从 IIS 虚拟目录连接参数时仍然遇到相同的错误。请指教
    • 请在检查您的代码后查看编辑后的答案。 HTH
    • 感谢@Jose Antonio 的回复。我会尝试您的建议,并将在此处再次发布状态。
    • IIS 元数据库和 IIS 6 配置兼容性复选框已在我的 win 7 机器中选中。我又试了一次,但还是出现同样的错误..
    猜你喜欢
    • 1970-01-01
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-28
    • 2015-05-15
    相关资源
    最近更新 更多