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

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

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

                }

            }

        }
    }


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

能否请你帮忙?

最佳答案

通过更正对Microsoft.Web.Administration.dll的引用,已解决了该问题。

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

08-04 10:21