ServerManager CommitChanges вносит изменения с небольшой задержкой
У меня есть небольшая проблема с классом ServerManager (из сборки Microsoft.Web.Administration), и я надеюсь, что некоторые из вас могут мне помочь.
По сути, мне нужно создать новое приложение внутри сайта (используя IIS 7.5) и перенаправить пользователя к новому приложению внутри того же события. Эта функциональность реализована в веб-приложении.net с использованием mvc 3/ C#.
Вот мой код:
ServerManager iisManager = new ServerManager();
Site mySite = iisManager.Sites["mySitesName"];
ApplicationCollection applications = mySite.Applications;
Application app = applications.Add(newapp, physicalPath);
app.ApplicationPoolName = "myAppPool";
iisManager.CommitChanges();
iisManager.Dispose();
return new RedirectResult("http://localhost/" + newapp);
Я думаю, что проблема с этим кодом заключается в том, что ServerManager, похоже, передает изменения с небольшой задержкой, а перенаправление во вновь добавленное приложение в IIS возвращает "Ошибка HTTP 404.0 - Not Found", поскольку изменения, принятые из ServerManager, не завершены (я думаю), Если я обновлю страницу после 404, загрузится новое приложение.
Любая помощь или идея очень ценится.
Ура!
1 ответ
Кажется, что документацию об этой "задержке" очень трудно найти... или ее нет. В конце концов я использовал "Thread.Sleep", как это было предложено на iis.net.
Надеюсь, что это помогает другим нуждающимся.
Ура!