通过 Microsoft.Web.Administration 使用用户名/密码创建应用程序池

本文关键字:密码 创建 应用 程序池 应用程序 用户 Web Microsoft Administration 通过 | 更新日期: 2023-09-27 18:31:55

我使用以下代码创建应用程序池:

var appPool = serverManager.ApplicationPools.Add(Name);
appPool.ProcessModel.IdentityType = ProcessModelIdentityType.SpecificUser;
appPool.ProcessModel.UserName = UserName;
appPool.ProcessModel.Password = Password;
serverManager.CommitChanges();

但是不知何故密码出了问题,我不知道是什么。当我查看applicationHost.config时,生成的xml如下所示:

<processModel 
  identityType="SpecificUser" 
  userName="domain1'user1" 
  password="[enc:IISWASOnlyAesProvider:6RqsTbCqVXXnr37jLOrOjg==:enc]" />

如果我通过 IIS 管理器手动添加相同的用户 (domain1''user1),xml 如下所示:

<processModel 
  identityType="SpecificUser" 
  userName="domain1'user1"
  password="[enc:IISWASOnlyAesProvider:OCkfPehXB3p8ahXXtaoW3vLTpFY/EbW5IFo39h5iVE2azpJXXvkArbeeuwI5bvBG:enc]" />

看起来密码在通过代码创建时会以不同的方式加密,但我在网络上没有找到任何有关此主题的内容。

我做错了什么或我需要做什么才能使代码工作?

通过 Microsoft.Web.Administration 使用用户名/密码创建应用程序池

我试图重现它,它一直有效。很抱歉以下问题,但它发生在我自己身上几次:

绝对确定您指定了正确的密码吗?

您可以使用用户名和密码创建应用程序池,如下所示

using (ServerManager serverManager = new ServerManager())
           {
              
                   ApplicationPool newPool = serverManager.ApplicationPools.Add("Poolnam1");
                   newPool.ManagedRuntimeVersion = "v4.0";
                   newPool.ProcessModel.IdentityType = ProcessModelIdentityType.SpecificUser;
                   newPool.ProcessModel.UserName = accountUserName;
                   newPool.ProcessModel.Password = accountPassword;
                   serverManager.CommitChanges();
           
           }