我正在使用以下代码以编程方式为IIS 6(Windows Server 2003R2)创建应用程序池,但在尝试设置ManagedPipelineMode
的行上出现错误,>
尝试1
string metabasePath = @"IIS://localhost/W3SVC/AppPools"; DirectoryEntry apppools = new DirectoryEntry(metabasePath); DirectoryEntry newpool = apppools.Children.Add(AppPoolName, "IIsApplicationPool"); newpool.Properties["managedRuntimeVersion"].Value = "v4.0"; newpool.InvokeSet("ManagedPipelineMode", new Object[] { 0 }); //exception thrown on this line newpool.Properties["Enable32BitAppOnWin64"].Value = true; if (!string.IsNullOrEmpty(username)) { newpool.Properties["AppPoolIdentityType"].Value = 3; newpool.Properties["WAMUserName"].Value = username; newpool.Properties["WAMUserPass"].Value = password; } newpool.CommitChanges();
尝试2
string metabasePath = @"IIS://localhost/W3SVC/AppPools"; DirectoryEntry apppools = new DirectoryEntry(metabasePath); DirectoryEntry newpool = apppools.Children.Add(AppPoolName, "IIsApplicationPool"); newpool.Properties["managedRuntimeVersion"].Value = "v4.0"; newpool.Properties["ManagedPipelineMode"][0] = 0; //exception thrown on this line newpool.Properties["Enable32BitAppOnWin64"].Value = true; if (!string.IsNullOrEmpty(username)) { newpool.Properties["AppPoolIdentityType"].Value = 3; newpool.Properties["WAMUserName"].Value = username; newpool.Properties["WAMUserPass"].Value = password; } newpool.CommitChanges();
无论哪种方式都抛出相同的异常。
Exception:
Exception from HRESULT: 0x80005006
at System.DirectoryServices.Interop.UnsafeNativeMethods.IAds.PutEx(Int32 lnControlCode, String bstrName, Object vProp)
at System.DirectoryServices.PropertyValueCollection.OnClearComplete()
at System.DirectoryServices.PropertyValueCollection.set_Value(Object value)
我正在使用以下代码以编程方式为IIS 6(Windows Server 2003R2)创建应用程序池,但在尝试设置ManagedPipelineMode尝试1 ...的行上出现错误,
ManagedPipelineMode
。另外,Enable32BitAppOnWin64
也不以这种方式存在,要启用该功能,必须运行命令(https://web.archive.org/web/20160313115849/http://extended64.com/blogs/rhoffman/archive/2005/05/10/482.aspx)