2

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

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]" />

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

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

4

2 回答 2

1

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

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

于 2013-09-23T12:25:47.803 回答
0

您可以像这样使用用户名和密码创建应用程序池

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

           
           }
于 2021-08-09T08:14:03.170 回答