c#创建并设置应用程序池
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
/// <summary>
/// 创建应用程序池 IIS 7 默认是 FrameWork 4.0 集成模式 /// </summary> /// <param name="appPoolName"></param> /// <param name="maxProcesses">最大进程数</param> /// <param name="queueLength">队列长度</param> /// <param name="type">0为集成模式1为经理模式</param> public static bool CreateAppPool7(string appPoolName, long maxProcesses,long queueLength,string type) { try { ServerManager sm = new ServerManager(); //判断是否存在应用程序池 ApplicationPool appPool = sm.ApplicationPools[appPoolName]; if (appPool == null) { sm.ApplicationPools.Add(appPoolName); ApplicationPool apppool = sm.ApplicationPools[appPoolName]; if ("0".Equals(type)) { apppool.ManagedPipelineMode = ManagedPipelineMode.Integrated;//托管管道为集成模式 ManagedPipelineMode.Classic为经典模式 } else { apppool.ManagedPipelineMode = ManagedPipelineMode.Classic;//托管管道为经典模式 ManagedPipelineMode.Classic为经典模式 } apppool.ManagedRuntimeVersion = "v4.0"; //当设置错误时,会在应用程序中创建一个不存在的版本,不会报错 //应当检测当前电脑是否安装 FrameWork 4.0 ,并处理没有安装时该怎么办 //apppool.QueueLength apppool.Recycling.DisallowOverlappingRotation = false; apppool.Recycling.PeriodicRestart.Time = TimeSpan.FromMinutes(0); apppool.Recycling.PeriodicRestart.Schedule.Add(TimeSpan.Parse("23:00:00")); apppool.Recycling.PeriodicRestart.Schedule.Add(TimeSpan.Parse("06:00:00")); apppool.Recycling.PeriodicRestart.Schedule.Add(TimeSpan.Parse("12:30:00")); apppool.Recycling.PeriodicRestart.Schedule.Add(TimeSpan.Parse("18:00:00")); apppool.Recycling.LogEventOnRecycle = RecyclingLogEventOnRecycle.Memory | RecyclingLogEventOnRecycle.Requests | RecyclingLogEventOnRecycle.ConfigChange | RecyclingLogEventOnRecycle.IsapiUnhealthy | RecyclingLogEventOnRecycle.OnDemand | RecyclingLogEventOnRecycle.PrivateMemory | RecyclingLogEventOnRecycle.Schedule | RecyclingLogEventOnRecycle.Time; apppool.Recycling.PeriodicRestart.Memory = 40960000; apppool.Recycling.PeriodicRestart.PrivateMemory= 0; apppool.ProcessModel.IdleTimeout = TimeSpan.FromMinutes(0); apppool.ProcessModel.MaxProcesses= maxProcesses; apppool.ProcessModel.ShutdownTimeLimit = TimeSpan.FromSeconds(120);//关闭时间限制设置为120秒 apppool.QueueLength = queueLength; apppool.Cpu.Limit = 80000; apppool.Cpu.Action=ProcessorAction.KillW3wp; apppool.Failure.RapidFailProtection = false; apppool.AutoStart = true; sm.CommitChanges(); apppool.Recycle(); } else { //appPool.ManagedPipelineMode = ManagedPipelineMode.Integrated;//托管管道为集成模式 ManagedPipelineMode.Classic为经典模式 if ("0".Equals(type)) { appPool.ManagedPipelineMode = ManagedPipelineMode.Integrated;//托管管道为集成模式 ManagedPipelineMode.Classic为经典模式 } else { appPool.ManagedPipelineMode = ManagedPipelineMode.Classic;//托管管道为经典模式 ManagedPipelineMode.Classic为经典模式 } appPool.ManagedRuntimeVersion = "v4.0"; //当设置错误时,会在应用程序中创建一个不存在的版本,不会报错 //应当检测当前电脑是否安装 FrameWork 4.0 ,并处理没有安装时该怎么办 appPool.Recycling.DisallowOverlappingRotation = false; appPool.Recycling.PeriodicRestart.Time = TimeSpan.FromMinutes(0); appPool.Recycling.PeriodicRestart.Schedule.Clear(); appPool.Recycling.PeriodicRestart.Schedule.Add(TimeSpan.Parse("23:00:00")); appPool.Recycling.PeriodicRestart.Schedule.Add(TimeSpan.Parse("06:00:00")); appPool.Recycling.PeriodicRestart.Schedule.Add(TimeSpan.Parse("12:30:00")); appPool.Recycling.PeriodicRestart.Schedule.Add(TimeSpan.Parse("18:00:00")); appPool.Recycling.LogEventOnRecycle = RecyclingLogEventOnRecycle.Memory | RecyclingLogEventOnRecycle.Requests | RecyclingLogEventOnRecycle.ConfigChange | RecyclingLogEventOnRecycle.IsapiUnhealthy | RecyclingLogEventOnRecycle.OnDemand | RecyclingLogEventOnRecycle.PrivateMemory | RecyclingLogEventOnRecycle.Schedule | RecyclingLogEventOnRecycle.Time; appPool.Recycling.PeriodicRestart.Memory = 40960000; appPool.Recycling.PeriodicRestart.PrivateMemory = 0; appPool.ProcessModel.IdleTimeout = TimeSpan.FromMinutes(0); appPool.ProcessModel.MaxProcesses = maxProcesses; appPool.ProcessModel.ShutdownTimeLimit = TimeSpan.FromSeconds(120);//关闭时间限制设置为120秒 appPool.QueueLength = queueLength; appPool.Cpu.Limit = 80000; appPool.Cpu.Action = ProcessorAction.KillW3wp; appPool.Failure.RapidFailProtection = false; appPool.AutoStart = true; sm.CommitChanges(); appPool.Recycle(); } } catch { return false; } return true; } 该文章在 2018/9/8 15:42:01 编辑过 |
关键字查询
相关文章
正在查询... |