【发布时间】:2011-12-09 22:15:29
【问题描述】:
运行以下代码:
DirectoryEntry w3svc = new DirectoryEntry("IIS://localhost/w3svc");
int siteId = GetUniqueSiteId(Path);
private string DEFAULT_WEB_SITE_PHYSICAL_PATH = System.IO.Path.GetPathRoot(Environment.SystemDirectory) + @"inetpub\wwwroot";
object[] newsite = new object[] { "Default Web Site", new object[] { ":80:" }, DEFAULT_WEB_SITE_PHYSICAL_PATH, siteId };
w3svc.Invoke("CreateNewSite", newsite);
抛出以下异常:
System.Reflection.TargetInvocationException:调用的目标已抛出异常。 ---> System.Runtime.InteropServices.COMException (0x800700B7):当该文件已存在时无法创建该文件。 (HRESULT 异常:0x800700B7)
我仅在“默认网站”不存在时才尝试运行此代码。只有在 Windows Server 2003 中运行时才会引发异常。 此外,当在每次失败后重试并休眠 1 秒的循环中运行此代码时,该代码最终会在 3 次重试后工作并创建默认网站。
有人知道是什么原因吗?
【问题讨论】:
标签: c# iis windows-2003-webserver