尝试从代码创建iis应用程序时拒绝访问

时间:2013-03-21 17:14:52

标签: c# asp.net iis asp-classic

我正在尝试从IIS网站内的目录创建应用程序。基本上我要做的是在代码中重现这个流程:右键单击IIS网站内的文件夹,然后单击以转换为应用程序。

这是我的代码:

        DirectoryEntry appsRoot = new DirectoryEntry("IIS://localhost/w3svc/3/Root");

        //Create and setup new virtual directory
        DirectoryEntry virtualDirectory = appsRoot.Children.Add(tool.Id.ToString(), "IIsWebVirtualDir");

        virtualDirectory.Properties["Path"][0] = Path.Combine(AppConfig.ToolsFilePath, tool.Id.ToString());
        virtualDirectory.Properties["AppFriendlyName"][0] = tool.Name;
        virtualDirectory.CommitChanges();

        // IIS6 - it will create a virtual directory
        // IIS7 - it will create an application
        virtualDirectory.Invoke("AppCreate", 1);

我得到的错误是拒绝访问。

Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).

1 个答案:

答案 0 :(得分:1)

您可以将应用程序设置为以更高权限的用户身份运行,也可以为应用程序当前运行的任何用户提供所有必要的权限。我建议后者。如果您不知道该怎么做,请告诉我,我可以添加详细信息。