IIS - создание нового веб-сайта вызывает исключение - PullRequest
2 голосов
/ 18 октября 2011

Запуск следующего кода:

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 попыток и создается веб-сайт по умолчанию.

Кто-нибудь знает, в чем может быть причина?

1 Ответ

0 голосов
/ 18 октября 2011

Вы пытаетесь создать «Веб-сайт по умолчанию», если существует «Веб-сайт по умолчанию». Вы сами сказали, что работает нормально, когда веб-сайт не существует ....

...