IIS 7管理API——使用 Microsoft.Web.Administration

目前,网上关于Microsoft.Web.Administration的有效教程比较少,感觉入门难点主要是不知道自己需要的功能在什么位置,特写下此篇文章供大家参考,考虑到此问题相关的开发人员水平较高,这里不做过多的文字讲解,请各位海涵。下面直接给出相关代码:

//需要引入Microsoft.Web.Administration.dll

            Microsoft.Web.Administration.ServerManager sm = new Microsoft.Web.Administration.ServerManager();



            System.Console.WriteLine("应用程序池默认设置:");

            System.Console.WriteLine("/t常规:");

            System.Console.WriteLine("/t/t.NET Framework 版本:{0}", sm.ApplicationPoolDefaults.ManagedRuntimeVersion);

            System.Console.WriteLine("/t/t队列长度:{0}", sm.ApplicationPoolDefaults.QueueLength);

            System.Console.WriteLine("/t/t托管管道模式:{0}", sm.ApplicationPoolDefaults.ManagedPipelineMode.ToString());

            System.Console.WriteLine("/t/t自动启动:{0}", sm.ApplicationPoolDefaults.AutoStart);



            System.Console.WriteLine("/tCPU:");

            System.Console.WriteLine("/t/t处理器关联掩码:{0}", sm.ApplicationPoolDefaults.Cpu.SmpProcessorAffinityMask);

            System.Console.WriteLine("/t/t限制:{0}", sm.ApplicationPoolDefaults.Cpu.Limit);

            System.Console.WriteLine("/t/t限制操作:{0}", sm.ApplicationPoolDefaults.Cpu.Action.ToString());

            System.Console.WriteLine("/t/t限制间隔(分钟):{0}", sm.ApplicationPoolDefaults.Cpu.ResetInterval.TotalMinutes);

            System.Console.WriteLine("/t/t已启用处理器关联:{0}", sm.ApplicationPoolDefaults.Cpu.SmpAffinitized);



            System.Console.WriteLine("/t回收:");

            System.Console.WriteLine("/t/t发生配置更改时禁止回收:{0}", sm.ApplicationPoolDefaults.Recycling.DisallowRotationOnConfigChange);

            System.Console.WriteLine("/t/t固定时间间隔(分钟):{0}", sm.ApplicationPoolDefaults.Recycling.PeriodicRestart.Time.TotalMinutes);

            System.Console.WriteLine("/t/t禁用重叠回收:{0}", sm.ApplicationPoolDefaults.Recycling.DisallowOverlappingRotation);

            System.Console.WriteLine("/t/t请求限制:{0}", sm.ApplicationPoolDefaults.Recycling.PeriodicRestart.Requests);

            System.Console.WriteLine("/t/t虚拟内存限制(KB):{0}", sm.ApplicationPoolDefaults.Recycling.PeriodicRestart.Memory);

            System.Console.WriteLine("/t/t专用内存限制(KB):{0}", sm.ApplicationPoolDefaults.Recycling.PeriodicRestart.PrivateMemory);

            System.Console.WriteLine("/t/t特定时间:{0}", sm.ApplicationPoolDefaults.Recycling.PeriodicRestart.Schedule.ToString());

            System.Console.WriteLine("/t/t生成回收事件日志条目:{0}", sm.ApplicationPoolDefaults.Recycling.LogEventOnRecycle.ToString());



            System.Console.WriteLine("/t进程孤立:");

            System.Console.WriteLine("/t/t可执行文件:{0}", sm.ApplicationPoolDefaults.Failure.OrphanActionExe);

            System.Console.WriteLine("/t/t可执行文件参数:{0}", sm.ApplicationPoolDefaults.Failure.OrphanActionParams);

            System.Console.WriteLine("/t/t已启用:{0}", sm.ApplicationPoolDefaults.Failure.OrphanWorkerProcess);



            System.Console.WriteLine("/t进程模型:");

            System.Console.WriteLine("/t/tPing 间隔(秒):{0}", sm.ApplicationPoolDefaults.ProcessModel.PingInterval.TotalSeconds);

            System.Console.WriteLine("/t/tPing 最大响应时间(秒):{0}", sm.ApplicationPoolDefaults.ProcessModel.PingResponseTime.TotalSeconds);

            System.Console.WriteLine("/t/t标识:{0}", sm.ApplicationPoolDefaults.ProcessModel.IdentityType);

            System.Console.WriteLine("/t/t用户名:{0}", sm.ApplicationPoolDefaults.ProcessModel.UserName);

            System.Console.WriteLine("/t/t密码:{0}", sm.ApplicationPoolDefaults.ProcessModel.Password);

            System.Console.WriteLine("/t/t关闭时间限制(秒):{0}", sm.ApplicationPoolDefaults.ProcessModel.ShutdownTimeLimit.TotalSeconds);

            System.Console.WriteLine("/t/t加载用户配置文件:{0}", sm.ApplicationPoolDefaults.ProcessModel.LoadUserProfile);

            System.Console.WriteLine("/t/t启动时间限制(秒):{0}", sm.ApplicationPoolDefaults.ProcessModel.StartupTimeLimit.TotalSeconds);

            System.Console.WriteLine("/t/t允许 Ping:{0}", sm.ApplicationPoolDefaults.ProcessModel.PingingEnabled);

            System.Console.WriteLine("/t/t闲置超时(分钟):{0}", sm.ApplicationPoolDefaults.ProcessModel.IdleTimeout.TotalMinutes);

            System.Console.WriteLine("/t/t最大工作进程数:{0}", sm.ApplicationPoolDefaults.ProcessModel.MaxProcesses);



            System.Console.WriteLine("/t快速故障防护:");

            System.Console.WriteLine("/t/t“服务不可用”响应类型:{0}", sm.ApplicationPoolDefaults.Failure.LoadBalancerCapabilities.ToString());

            System.Console.WriteLine("/t/t故障间隔(分钟):{0}", sm.ApplicationPoolDefaults.Failure.RapidFailProtectionInterval.TotalMinutes);

            System.Console.WriteLine("/t/t关闭可执行文件:{0}", sm.ApplicationPoolDefaults.Failure.AutoShutdownExe);

            System.Console.WriteLine("/t/t关闭可执行文件参数:{0}", sm.ApplicationPoolDefaults.Failure.AutoShutdownParams);

            System.Console.WriteLine("/t/t已启用:{0}", sm.ApplicationPoolDefaults.Failure.RapidFailProtection);

            System.Console.WriteLine("/t/t最大故障数:{0}", sm.ApplicationPoolDefaults.Failure.RapidFailProtectionMaxCrashes);

            System.Console.WriteLine("/t/t允许32位应用程序运行在64位 Windows 上:{0}", sm.ApplicationPoolDefaults.Enable32BitAppOnWin64);



            System.Console.WriteLine();

            System.Console.WriteLine("网站默认设置:");

            System.Console.WriteLine("/t常规:");

            System.Console.WriteLine("/t/t物理路径凭据:UserName={0}, Password={1}", sm.VirtualDirectoryDefaults.UserName, sm.VirtualDirectoryDefaults.Password);

            System.Console.WriteLine("/t/t物理路径凭据登录类型:{0}", sm.VirtualDirectoryDefaults.LogonMethod.ToString());

            System.Console.WriteLine("/t/t应用程序池:{0}", sm.ApplicationDefaults.ApplicationPoolName);

            System.Console.WriteLine("/t/t自动启动:{0}", sm.SiteDefaults.ServerAutoStart);

            System.Console.WriteLine("/t行为:");

            System.Console.WriteLine("/t/t连接限制:");

            System.Console.WriteLine("/t/t/t连接超时(秒):{0}", sm.SiteDefaults.Limits.ConnectionTimeout.TotalSeconds);

            System.Console.WriteLine("/t/t/t最大并发连接数:{0}", sm.SiteDefaults.Limits.MaxConnections);

            System.Console.WriteLine("/t/t/t最大带宽(字节/秒):{0}", sm.SiteDefaults.Limits.MaxBandwidth);

            System.Console.WriteLine("/t/t失败请求跟踪:");

            System.Console.WriteLine("/t/t/t跟踪文件的最大数量:{0}", sm.SiteDefaults.TraceFailedRequestsLogging.MaxLogFiles);

            System.Console.WriteLine("/t/t/t目录:{0}", sm.SiteDefaults.TraceFailedRequestsLogging.Directory);

            System.Console.WriteLine("/t/t/t已启用:{0}", sm.SiteDefaults.TraceFailedRequestsLogging.Enabled);

            System.Console.WriteLine("/t/t已启用的协议:{0}", sm.ApplicationDefaults.EnabledProtocols);



            foreach (var s in sm.Sites)//遍历网站

            {

                System.Console.WriteLine();

                System.Console.WriteLine("模式名:{0}", s.Schema.Name);

                System.Console.WriteLine("编号:{0}", s.Id);

                System.Console.WriteLine("网站名称:{0}", s.Name);

                System.Console.WriteLine("物理路径:{0}", s.Applications["/"].VirtualDirectories["/"].PhysicalPath);

                System.Console.WriteLine("物理路径凭据:{0}", s.Methods.ToString());

                System.Console.WriteLine("应用程序池:{0}", s.Applications["/"].ApplicationPoolName);

                System.Console.WriteLine("已启用的协议:{0}", s.Applications["/"].EnabledProtocols);

                System.Console.WriteLine("自动启动:{0}", s.ServerAutoStart);

                System.Console.WriteLine("运行状态:{0}", s.State.ToString());



                System.Console.WriteLine("网站绑定:");

                foreach (var tmp in s.Bindings)

                {

                    System.Console.WriteLine("/t类型:{0}", tmp.Protocol);

                    System.Console.WriteLine("/tIP 地址:{0}", tmp.EndPoint.Address.ToString());

                    System.Console.WriteLine("/t端口:{0}", tmp.EndPoint.Port.ToString());

                    System.Console.WriteLine("/t主机名:{0}", tmp.Host);

                    //System.Console.WriteLine(tmp.BindingInformation);

                    //System.Console.WriteLine(tmp.CertificateStoreName);

                    //System.Console.WriteLine(tmp.IsIPPortHostBinding);

                    //System.Console.WriteLine(tmp.IsLocallyStored);

                    //System.Console.WriteLine(tmp.UseDsMapper);

                }



                System.Console.WriteLine("连接限制:");

                System.Console.WriteLine("/t连接超时(秒):{0}", s.Limits.ConnectionTimeout.TotalSeconds);

                System.Console.WriteLine("/t最大并发连接数:{0}", s.Limits.MaxConnections);

                System.Console.WriteLine("/t最大带宽(字节/秒):{0}", s.Limits.MaxBandwidth);



                System.Console.WriteLine("失败请求跟踪:");

                System.Console.WriteLine("/t跟踪文件的最大数量:{0}", s.TraceFailedRequestsLogging.MaxLogFiles);

                System.Console.WriteLine("/t目录:{0}", s.TraceFailedRequestsLogging.Directory);

                System.Console.WriteLine("/t已启用:{0}", s.TraceFailedRequestsLogging.Enabled);



                System.Console.WriteLine("日志:");

                //System.Console.WriteLine("/t启用日志服务:{0}", s.LogFile.Enabled);

                System.Console.WriteLine("/t格式:{0}", s.LogFile.LogFormat.ToString());

                System.Console.WriteLine("/t目录:{0}", s.LogFile.Directory);

                System.Console.WriteLine("/t文件包含字段:{0}", s.LogFile.LogExtFileFlags.ToString());

                System.Console.WriteLine("/t计划:{0}", s.LogFile.Period.ToString());

                System.Console.WriteLine("/t最大文件大小(字节):{0}", s.LogFile.TruncateSize);

                System.Console.WriteLine("/t使用本地时间进行文件命名和滚动更新:{0}", s.LogFile.LocalTimeRollover);



                System.Console.WriteLine("----应用程序的默认应用程序池:{0}", s.ApplicationDefaults.ApplicationPoolName);

                System.Console.WriteLine("----应用程序的默认已启用的协议:{0}", s.ApplicationDefaults.EnabledProtocols);

                //System.Console.WriteLine("----应用程序的默认物理路径凭据:{0}", s.ApplicationDefaults.Methods.ToString());

                //System.Console.WriteLine("----虚拟目录的默认物理路径凭据:{0}", s.VirtualDirectoryDefaults.Methods.ToString());

                System.Console.WriteLine("----虚拟目录的默认物理路径凭据登录类型:{0}", s.VirtualDirectoryDefaults.LogonMethod.ToString());

                System.Console.WriteLine("----虚拟目录的默认用户名:{0}", s.VirtualDirectoryDefaults.UserName);

                System.Console.WriteLine("----虚拟目录的默认用户密码:{0}", s.VirtualDirectoryDefaults.Password);

                System.Console.WriteLine("应用程序 列表:");

                foreach (var tmp in s.Applications)

                {

                    if (tmp.Path != "/")

                    {

                        System.Console.WriteLine("/t模式名:{0}", tmp.Schema.Name);

                        System.Console.WriteLine("/t虚拟路径:{0}", tmp.Path);

                        System.Console.WriteLine("/t物理路径:{0}", tmp.VirtualDirectories["/"].PhysicalPath);

                        //System.Console.WriteLine("/t物理路径凭据:{0}", tmp.Methods.ToString());

                        System.Console.WriteLine("/t应用程序池:{0}", tmp.ApplicationPoolName);

                        System.Console.WriteLine("/t已启用的协议:{0}", tmp.EnabledProtocols);

                    }

                    System.Console.WriteLine("/t虚拟目录 列表:");

                    foreach (var tmp2 in tmp.VirtualDirectories)

                    {

                        if (tmp2.Path != "/")

                        {

                            System.Console.WriteLine("/t/t模式名:{0}", tmp2.Schema.Name);

                            System.Console.WriteLine("/t/t虚拟路径:{0}", tmp2.Path);

                            System.Console.WriteLine("/t/t物理路径:{0}", tmp2.PhysicalPath);

                            //System.Console.WriteLine("/t/t物理路径凭据:{0}", tmp2.Methods.ToString());

                            System.Console.WriteLine("/t/t物理路径凭据登录类型:{0}", tmp2.LogonMethod.ToString());

                        }

                    }

                }

            }

 

文章来源:http://blog.csdn.net/DBXP/archive/2008/06/13/2543414.aspx

 

这个文档中的话题与解决方案, 几乎全部来自 UniGUI 的交流群, 群中活跃的 BDS2007、 cmj 等人,给了众多使用 UniGUI 的人很多帮助。 这个文档, 主要是学习与方便后来之人, 文档积累的起因是严肃而正式的, 因为每个人 都有学习的需求;但文档的所谓版权、著述, 我希望它是有公益色彩的东西,如有哪位不希 望解决方案不出现在这里,请您告知。 此外, 就是期待大家都能把自己的一些经验, 给指导和帮助后来人的东西, 在不影响您 正常工作与其他事情的前提下,奉献出来。至于正确与错误、高超或低下,无关大体。 目 录 1. 事件中的代码在服务器端和客户端,哪一端执行? ........................................................... 3 2. 为什么 UniGUI 控件在 IE中显示的字体会变小、模糊? .................................................... 3 3. 在浏览器端不能使用 ShowMessage() .................................................................................... 5 4. 修改工程文件,使 exe 程序编译成 dll .................................................................................. 6 5. UniGUI 开发的 dll 如何发布 .................................................................................................... 7 6. uniGUI0.94 以 EXE形式发布程序的布署方法 ..................................................................... 13 7. uniGUI 执行程序部署有 3 种形式 ......................................................................................... 14 8. 在 UniGUI 里使用 ADO 的设置 .............................................................................................. 16 9. MainModule 怎样得到 js 变量的值 ...................................................................................... 16 10. TUniServerModule 和 TUniMainModule 这两模块有何区别 ....................................... 16 11. MainModule 里一般放什么, ServerModule 一般放什么? ....................................... 17 12. 主窗体的标题怎么去掉 ................................................................................................. 17 13. 用 ExtEvent 打开链接和下载文件 ................................................................................. 17 14. WebApplication 显示对话框 .......................................................................................... 17 15. Uni 中的 UniChart 的 Series增删 .................................................................................. 17 16. 怎样给每一个在线用户建立一套变量,在用户断开后立即清除 ............................. 18 17. TUniHiddenPanel 的作用 ................................................................................................ 18 18. UniDBGrid 如何转为 Excel供下载? ............................................................................. 18 19. uniGUI 实现 Excel的导出 .............................................................................................. 18 20. UniDBGrid Excel文件下载 .............................................................................................. 19 21. Excel文件导入系统 ........................................................................................................ 21 22. 文件转档与下载 ............................................................................................................. 21 23. Send File()应用 ............................................................................................................... 21 24. UniGUI 的 Canvas使用 ................................................................................................... 22 25. 动态生成 TTabSheet or TUniTabSheet ........................................................................... 22 26. UniGUI 中如果获得 Session情况 .................................................................................. 23 27. UniGUI Func 之 Sessions ............................................................................................... 23 28. uniGUI 通过 SessionList操作另外的登录用户 ............................................................ 24 29. UniGui 中如何监听 Session的开始与结束 ................................................................... 25 30. UniGUI 如何禁止关闭新窗口 ........................................................................................ 27 31. UniGUI 中控件类名的变化 ............................................................................................ 27 32. 再议 UniGUI 中使用 Grid+Rport 报表控件 (推荐此方法 ) ............................................. 28 33. UniGUI 的布局面板控件 TUniRegionPanel ................................................................... 28 34. UniGUI 使用报表 Grid+Report 的方法之一 (静态调用 ) ................................................ 28 35. UniGUI 使用报表 Grid+Report 的方法之二 (动态调用 ) ................................................ 28 36. UniGUI 中 Cookies 使用中文汉字的方法 ...................................................................... 28 37. UniGUI 如何实现压缩传输数据? ................................................................................ 29 38. UniGUI 的 ShowModal .................................................................................................... 29 39. UniGUI 前台用户如何在软件中点击一个按钮打开浏览器并打开地址? ................ 29 40. How To Make Caption In UniGUI? ................................................................................. 30 41. 在 UniGUI 的 UniHtmlFrame 中不能使用的 HTML 标签 .............................................. 30 42. 利用 UniGUI 中的 TUniPageControl 实现多页面 .......................................................... 30 43. UniGUI TreeView 处理 .................................................................................................... 31 44. UniGUI 设置超时 ........................................................................................................... 31 45. UniGUI 如何实现登陆页面 ............................................................................................ 31 46. UniGUI 如何实现超链接 ................................................................................................ 32 47. 从 ASP网站登录到 UniGUI 中 ....................................................................................... 32 48. UniGUI 数据库初始化要放到 MainModule 里 ............................................................. 32 49. UniGUI Cookies ................................................................................................................ 32 50. Form Inheritance ............................................................................................................. 33 51. UniGUI 组件中的 Client JavaScript Delphi 组件之间的操作 ......................................... 33 52. JS能取 Delphi 控件的值? ............................................................................................ 34 53. 写 js 的注意 .................................................................................................................... 34 54. unigui 结合 JS方法记录 ................................................................................................. 34 55. JS,Jquery获取各种屏幕的宽度和高度 ......................................................................... 35 56. uniGUI 动态建立 Form 及释放 ...................................................................................... 37 57. uniGUI 经验两则 uniTimer uniHtmlFrame .................................................................... 37 58. uniGUI 使用百度地图 api 进行标注 .............................................................................. 37 59. fileupload 的问题 ........................................................................................................... 38 60. unigui unidbgrid 显示列的合计值 ................................................................................. 38 61. UniGui 中设置 uniEdit 控件的 fieldLabel ,emptyTextExtjs 属性 .............................. 40 62. uniGUI 用 Grid++Report 报表插件设计保存报表 (For unigui ver:0.95.0.1045) ............ 40 63. UniGUI 的 TUniLoginForm 窗口自定义背景色 .............................................................. 46 64. uniGUI 显示 Warning: Form must be shown after it is created 的解决办法 ................. 46 65. 界面上的快捷方式 ......................................................................................................... 46 66. 调用 WebService............................................................................................................. 47 67. TUniTreeView 的 CheckBox ............................................................................................ 49 68. 通过 URL来获取相关参数 ............................................................................................ 52 69. uniDBGrid 实行多选表格行 ........................................................................................... 52 70. UniDBGrid 增加显示记录数的 label 及隐藏 refresh 按钮 ............................................ 56 71. 对 UniDBGrid 的单元格操作 .......................................................................................... 57 72. DBGrid 多选后计算问题(是否可以作为参考?) .................................................... 58 73. UniDBGrid 选择字段 Boolean 处理 ................................................................................ 59 74. UniDBGrid 自带 MultiSelect 无法使用【最新版可以】 ............................................... 60 75. 如何打开 URL,让系统看起来舒服点 ......................................................................... 61 76. 如何修改 UniGUI 下的中文信息 ................................................................................... 62 77. 如何实现 UniDBGrid 下字段显示按钮 .......................................................................... 62 78. 如何实现 UniDBGrid 下字段自动换行 .......................................................................... 62 79. 如何结合 kbmMW .......................................................................................................... 63 80. 如何规避浏览器访问时 ajax 异常 ................................................................................ 63 81. 事件操作时,如果出现等待效果 ................................................................................. 63 82. 登录页面和主页面切换之间碰到的异常 ..................................................................... 63 83. 让 Page 中切换 Tab效果稍微好一点 ........................................................................... 64 84. UniImage 可以嵌入 PNG图片 ....................................................................................... 64 85. UniImage 自带导入 PNG图片的问题 ........................................................................... 65
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值