以编程方式将应用程序池分配给iis7中的网站

时间:2012-10-10 17:27:36

标签: c# iis-7

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

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

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();
                   }

                }

            }

        }
    }

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

你能帮忙吗?

1 个答案:

答案 0 :(得分:2)

通过修复对Microsoft.Web.Administration.dll

的正确引用来修复此问题

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