我对 ServerManager 类(来自 Microsoft.Web.Administration 程序集)有一个小问题,我希望你们中的一些人可以帮助我。

基本上,我需要在站点内创建一个新应用程序(使用 IIS 7.5)并将用户重定向到新应用程序,在同一事件内。此功能是在使用 mvc 3/c# 的 .net Web 应用程序内实现的。

这是我的代码:

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 - 未找到”,因为从 ServerManager 提交的更改尚未完成(我认为) .如果我在 404 之后刷新页面,则会加载新的应用程序。

非常感谢任何帮助或想法。

干杯!

最佳答案

似乎很难找到有关此“延迟”的文档……或者根本不存在。最后,我最终使用了“Thread.Sleep”,就像在 iis.net 上建议的那样。

希望这可以帮助有需要的其他人。

干杯!

关于c# - ServerManager CommitChanges 稍有延迟地进行更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7446632/

10-11 15:42