程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#操作IIS創建應用程序池出現異常:無效索引(Exception from HRESULT:0x80070585)

C#操作IIS創建應用程序池出現異常:無效索引(Exception from HRESULT:0x80070585)

編輯:C#入門知識

在使用C#操作IIS創建應用程序池出現異常:無效索引(Exception from HRESULT:0x80070585)

相關代碼:


[csharp]
public static string CreateAppPool(string appPoolName, string frameworkVersion, string managedPipelineMode) 
         { 
             DirectoryEntry rootfolder = new DirectoryEntry("IIS://localhost/W3SVC/APPPOOLS"); 
 
             try 
             { 
                 DirectoryEntry appPool = rootfolder.Children.Add(appPoolName, "IIsApplicationPool"); 
                 if (appPool.Properties.Contains("AppPoolCommand")) 
                 { 
                     appPool.Properties["AppPoolCommand"][0] = "1"; 
                 } 
                 if (appPool.Properties.Contains("ManagedRuntimeVersion")) 
                 { 
                     appPool.Properties["ManagedRuntimeVersion"][0] = "v4.0"; 
                 } 
                 //以下代碼在WindowsServer2008版本為6.0的系統上會出現異常:  
                 //無效索引(Exception from HRESULT:0x80070585)  
                 //if (appPool.Properties.Contains("AppPoolIdentityType"))  
                 //{  
                 //    appPool.Properties["AppPoolIdentityType"][0] = "4";  
                 //}  
                 if (appPool.Properties.Contains("Enable32BitAppOnWin64")) 
                 { 
                     appPool.Properties["Enable32BitAppOnWin64"][0] = true; 
                 } 
                 appPool.CommitChanges(); 
                 return null; 
             } 
             catch (System.Exception ex) 
             { 
                 LogToFile.Save(ex, "CreateAppPool"); 
                 return ex.Message; 
             } 
         } 

public static string CreateAppPool(string appPoolName, string frameworkVersion, string managedPipelineMode)
         {
             DirectoryEntry rootfolder = new DirectoryEntry("IIS://localhost/W3SVC/APPPOOLS");

             try
             {
                 DirectoryEntry appPool = rootfolder.Children.Add(appPoolName, "IIsApplicationPool");
                 if (appPool.Properties.Contains("AppPoolCommand"))
                 {
                     appPool.Properties["AppPoolCommand"][0] = "1";
                 }
                 if (appPool.Properties.Contains("ManagedRuntimeVersion"))
                 {
                     appPool.Properties["ManagedRuntimeVersion"][0] = "v4.0";
                 }
                 //以下代碼在WindowsServer2008版本為6.0的系統上會出現異常:
                 //無效索引(Exception from HRESULT:0x80070585)
                 //if (appPool.Properties.Contains("AppPoolIdentityType"))
                 //{
                 //    appPool.Properties["AppPoolIdentityType"][0] = "4";
                 //}
                 if (appPool.Properties.Contains("Enable32BitAppOnWin64"))
                 {
                     appPool.Properties["Enable32BitAppOnWin64"][0] = true;
                 }
                 appPool.CommitChanges();
                 return null;
             }
             catch (System.Exception ex)
             {
                 LogToFile.Save(ex, "CreateAppPool");
                 return ex.Message;
             }
         }
將相關代碼注釋以後,未見對Web應用程序帶來任何影響。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved