运行以下代码:
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 次重试后工作,并创建默认网站。
有谁知道可能是什么原因?