2013-10-01 81 views
0

我有控制台应用程序,它将尝试访问安装在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):访问被拒绝。

回答

1

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

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

尽管如此,建议的方式来访问和管理代码IIS 7是使用IIS管理API可通过Microsoft.Web。管理库。你可以看看一个例子说明如何执行你的以下问题需要完成相同的任务:

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

+0

我已经发布我的代码被用于访问虚拟目录。适用于XP(IIS 5.1),但不能赢得7台机器(IIS 7.5)。 对不起,代码在发布后变得笨拙。 –

+0

我也尝试使用管理权限运行,但在尝试从IIS虚拟目录中获取连接参数时仍然出现相同的错误。请告知 –

+0

请检查您的代码后查看编辑后的答案。 HTH –

相关问题