gpt4 book ai didi

c# - 使用 C# 和 IIS7 创建一个新的应用程序池并将其分配给远程主机上的站点子文件夹

转载 作者:太空宇宙 更新时间:2023-11-03 14:21:50 25 4
gpt4 key购买 nike

我有一个在远程服务器上的 IIS7 上运行的网站。我想执行以下操作:

  1. 在根虚拟目录下创建一个新的子文件夹。
  2. 创建一个新的应用程序池。
  3. 将这个新的应用程序池添加到新的子文件夹

通常,我会在 IIS 中手动执行此操作,首先创建应用程序池,然后右键单击子文件夹并选择“添加应用程序”,但我需要在 C# 中以编程方式执行此操作。我已经设法使上述第 1 点和第 2 点起作用,但我找不到将应用程序添加到子文件夹的方法。

这是我目前为 1 和 2 使用的代码:

ServerManager mgr = new ServerManager();
ApplicationPool myAppPool = mgr.ApplicationPools.Add("MyAppPool");
myAppPool.AutoStart = true;
myAppPool.Cpu.Action = ProcessorAction.KillW3wp;
myAppPool.ManagedPipelineMode = ManagedPipelineMode.Integrated;
myAppPool.ManagedRuntimeVersion = "V4.0";
myAppPool.ProcessModel.IdentityType = ProcessModelIdentityType.NetworkService;
mgr.CommitChanges();


if (!Directory.Exists(@"D:\webroot\TestSite\NytSite"))
{
Directory.CreateDirectory(@"D:\webroot\TestSite\NytSite");
}

所以,我需要将“MyAppPool”添加到“NytSite”文件夹中...

这甚至是正确的方法吗?

有什么经验吗?

感谢

最佳答案

您需要创建一个新的应用程序来分配一个应用程序池,因此您可以这样做:

        if (!Directory.Exists(@"C:\inetpub\wwwroot\JohnSite"))
{
Directory.CreateDirectory(@"C:\inetpub\wwwroot\JohnSite");
}

// Add to my default site
var app = mgr.Sites[0].Applications.Add(@"/JohnSite", @"C:\inetpub\wwwroot\JohnSite");
app.ApplicationPoolName = "MyAppPool";

mgr.CommitChanges();

关于c# - 使用 C# 和 IIS7 创建一个新的应用程序池并将其分配给远程主机上的站点子文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5143882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com