2

我正在使用以下方法创建应用程序池并将其分配给网站。

这是创建应用程序池的代码:

WebSiteName = some website name which existed.

我看到所有值都在调试模式下得到了它们应该在的位置

 private void ConfiugreAppPoolIIS7(targetMachine)
    {
        var mgr =  ServerManager.OpenRemote(targetMachine);

        if (AppPoolProp.ContainsKey("SomeTestAppPool"))
        {
            string reqAppPool = AppPoolProp["SomeTestAppPool"];

            if (!mgr.ApplicationPools.Any(pool => pool.Name == reqAppPool))
            {
                ApplicationPool myApp = mgr.ApplicationPools.Add(reqAppPool);
                myApp.AutoStart = true;
                myApp.ManagedPipelineMode = ManagedPipelineMode.Classic;
                myApp.ManagedRuntimeVersion = "V4.0";
                myApp.ProcessModel.IdentityType = ProcessModelIdentityType.NetworkService;
                myApp.Enable32BitAppOnWin64 = true;

                mgr.CommitChanges();

                foreach (Site site in mgr.Sites)
                {
                   if(site.Name == WebSiteName)
                   {
                       site.Stop();
                       site.ApplicationDefaults.ApplicationPoolName = myApp.Name;
                       site.Start();
                       mgr.CommitChanges();
                   }

                }

            }

        }
    }

结果是,我看到应用程序池已成功创建,并且网站也已创建,但是,我在网站的高级设置中看到分配了默认应用程序池。

能否请你帮忙?

4

1 回答 1

2

该问题已通过修复对正确 Microsoft.Web.Administration.dll 的引用得到解决

此服务器管理连接到 express iis 而不是我的本地 iis 的原因。

于 2012-10-11T11:28:43.493 回答