LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

C#操作设置IIS6/7参数启用父目录及其他属性详细内容

admin
2021年5月11日 10:11 本文热度 3859
IIS6下设置方法:

DirectoryEntry site = (DirectoryEntry)root.Invoke("Create""IIsWebServer", siteID);

site.Invoke("Put""ServerComment", webSiteName == "" ? ip : webSiteName);//网站名称,如果网站名称为空就用IP

//site.Invoke("Put", "ServerBindings", bd);//二级域名绑定

site.Invoke("Put""ServerState"2);//默认4

site.Invoke("Put""DefaultDoc""Default.aspx");

site.Invoke("Put""ServerAutoStart"1);//开启站点

site.Invoke("SetInfo");

DirectoryEntry siteVDir = site.Children.Add("ROOT""IISWebVirtualDir");

siteVDir.Invoke("AppCreate"true); //创建应用程序站点

siteVDir.CommitChanges();

site.CommitChanges();

siteVDir.Properties["AppIsolated"][0] = 2;//默认2

siteVDir.Properties["Path"][0] = pathToRoot;//主目录路径

siteVDir.Properties["AccessFlags"][0] = 513;

siteVDir.Properties["FrontPageWeb"][0] = 1;

siteVDir.Properties["AccessRead"][0] = true//设置读取权限

siteVDir.Properties["AccessWrite"][0] = true;//写权限

siteVDir.Properties["AccessScript"][0] = true;//执行权限

siteVDir.Properties["AppRoot"][0] = "/LM/W3SVC/" + siteID + "/Root";

siteVDir.Properties["AppFriendlyName"][0] = "默认应用程序";

siteVDir.Properties["AuthFlags"][0] = 1;//0表示不允许匿名访问,1表示就可以3为基本身份验证,7windows继承身份验证

siteVDir.Properties["AspEnableParentPaths"][0] = true;  //启用父路径

siteVDir.CommitChanges();

site.CommitChanges();


IIS7下设置方法:

利用IIS7自带类库管理IIS现在变的更强大更方便,而完全可以不需要用DirecotryEntry这个类了(很多.net网站管理IIS6.0的文章都用到了DirecotryEntry这个类 ),Microsoft.Web.Administration.dll位于IIS的目录(%WinDir%\\System32\\InetSrv)下,使用时需要引用,它基本上可以管理IIS7的各项配置,这个类库的主体结构如下:


这里wenqi只举几个例子说明一下基本功能,更多功能请参考MSDN。

string SiteName="点晴MIS系统"; //站点名称
string BindArgs="*:80:"; //绑定参数,注意格式
string apl="http"; //类型
string path="D:\\ClickSun"; //网站路径
ServerManager sm = new ServerManager();
sm.Sites.Add(SiteName,apl,BindArgs,path);
sm.CommitChanges();

Site site=sm.Sites["newsite"];
site.Name=SiteName;
site.Bindings[0].EndPoint.Port=9999;
site.Applications[0].VirtualDirectories[0].PhysicalPath=path;
sm.CommitChanges();

Site site=sm.Sites["点晴MIS系统"];
sm.Sites.Remove(site);
sm.CommitChanges();

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

#region CreateWebsite 添加网站

    public string CreateWebSite(string serverID, string serverComment, string defaultVrootPath, string HostName, string IP, string Port)

    {

        try

        {

            ManagementObject oW3SVC = new ManagementObject (_scope, new ManagementPath(@"IIsWebService='W3SVC'"), null);

            if (IsWebSiteExists (serverID))

            {

                return "Site Already Exists...";

            }

            ManagementBaseObject inputParameters = oW3SVC.GetMethodParameters ("CreateNewSite");

            ManagementBaseObject[] serverBinding = new ManagementBaseObject[1];

            serverBinding[0] = CreateServerBinding(HostName, IP, Port);

            inputParameters["ServerComment"] = serverComment;

            inputParameters["ServerBindings"] = serverBinding;

            inputParameters["PathOfRootVirtualDir"] = defaultVrootPath;

            inputParameters["ServerId"] = serverID;

            ManagementBaseObject outParameter = null;

            outParameter = oW3SVC.InvokeMethod("CreateNewSite", inputParameters, null);

            // 启动网站

            string serverName = "W3SVC/" + serverID;

            ManagementObject webSite = new ManagementObject(_scope, new ManagementPath(@"IIsWebServer='" + serverName + "'"), null);

            webSite.InvokeMethod("Start", null);

            return (string)outParameter.Properties["ReturnValue"].Value;

        }

        catch (Exception ex)

        {

            return ex.Message;

        }

    }

 

    public ManagementObject CreateServerBinding(string HostName, string IP, string Port)

    {

        try

        {

            ManagementClass classBinding = new ManagementClass(_scope, new ManagementPath("ServerBinding"), null);

            ManagementObject serverBinding = classBinding.CreateInstance();

            serverBinding.Properties["Hostname"].Value = HostName;

            serverBinding.Properties["IP"].Value = IP;

            serverBinding.Properties["Port"].Value = Port;

            serverBinding.Put();

            return serverBinding;

        }

        catch

        {

            return null;

        }

    }

    #endregion

 

页面:

// 添加网站

    protected void AddWebsite_Click(object sender, EventArgs e)

    {

        IISManager iis = new IISManager();

        iis.Connect();

        string serverID = "5556";

        string serverComment = "Create Website";

        string defaultVrootPath = @"D:\web";

        string HostName = "World";

        string IP = "";

        string Port = "9898";

        ReturnMessage.Text = iis.CreateWebSite(serverID,serverComment,defaultVrootPath,HostName,IP,Port);

    }


删除网站的代码:

#region DeleteSite 删除站点

    public string DeleteSite(string serverID)

    {

        try

        {

            string serverName = "W3SVC/" + serverID;

            ManagementObject webSite = new ManagementObject(_scope, new ManagementPath(@"IIsWebServer='" + serverName + "'"), null);

            webSite.InvokeMethod("Stop", null);

            webSite.Delete();

            webSite = null;

            return "Delete the site succesfully!";

        }

        catch(Exception deleteEx)

        {

            return deleteEx.Message;

        }

    }

    #endregion

同样的方式,也可以对网站对属性进行修改。


附:IIS的站点属性(详细内容,请查阅IIS帮助)

Read only properties of W3SVC/1/Root:             // 只读属性

AppIsolated = 2             属性指出应用程序是在进程内、进程外还是在进程池中运行。值 0 表示应用程序在进程内运行,值 1 表示进程外,值 2 表示进程池。

AppPackageID =           为事务提供 COM+ 应用程序标识符 (ID)。此 ID 在由组件服务管理的所有事务中使用。

AppPackageName =      为事务提供 COM+ 应用程序名。

AppRoot = /LM/W3SVC/1/ROOT 包含到应用程序根目录的配置数据库路径。

Caption =              提供对象的一段简短文本描述(一行字符串)。

Description =         提供对象的一段较长文本描述。

InstallDate =          表示安装对象的时间。缺少值并不表示对象没有安装。

Name = W3SVC/1/ROOT     定义了用来识别对象的标签。创建子类时,可以将 Name 属性改写为 Key 属性。

Status =         表示对象当前状态。各种可操作的和不可操作的状态都可以被定义。可操作的状态为“正常”、“已降级”和“预见故障”。“预见故障”表示一个组件可能运行正常但预计很快会出现故障。例如,启用 SMART 的硬盘。还可指定不可操作的状态。这些状态为“错误”、“启动”、“停止”和“服务”。后者(即“服务”)可用于磁盘镜像过程、重新加载用户权限列表其他管理作业。并不是所有这类作业都联机;所以,被管理的组件不是“正常”状态处于任何其他状态。

Read/Write properties of W3SVC/1/Root:            // 可读/可写

AccessExecute = False  值 true 表示不论文件类型是什么,文件文件夹的内容都可以执行。

AccessFlags = 513 包含有用于配置文件访问权限的标志

AccessNoPhysicalDir = False

AccessNoRemoteExecute = False 值 true 表示拒绝远程请求执行应用程序;如果将 AccessExecute 属性设置为 true,只有来自 IIS 服务器所在的相同计算机的请求才会成功。您不能将 AccessNoRemoteExecute 设置为 false 来启用远程请求,将 AccessExecute 设置为 false 来禁止本地请求。

AccessNoRemoteRead = False      值 true 表示拒绝远程请求查看文件;如果将 AccessRead 属性设置为 true,只有来自 IIS 服务器所在的相同计算机的请求才会成功。您不能将 AccessNoRemoteRead 设置为 false 来启用远程请求,将 AccessRead 设置为 false 来禁止本地请求。

AccessNoRemoteScript = False    值 true 表示拒绝远程请求查看动态内容;如果将 AccessScript 属性设置为 true,只有来自 IIS 服务器所在的相同计算机的请求才会成功。您不能将 AccessNoRemoteScript 设置为 false 来启用远程请求,将 AccessScript 设置为 false 来禁止本地请求。

AccessNoRemoteWrite = False     值 true 表示拒绝远程请求创建更改文件;如果将 AccessWrite 属性设置为 true,只有来自 IIS 服务器所在的相同计算机的请求才会成功。您不能将 AccessNoRemoteWrite 设置为 false 来启用远程请求,将 AccessWrite 设置为 false 来禁止本地请求。

AccessRead = True              值 true 表示可通过 Microsoft Internet Explorer 读取文件文件夹的内容。

AccessScript = True             值 true 表示如果是脚本文件静态内容,则可以执行文件文件夹的内容。值 false 只允许提供静态文件,如 HTML 文件。

AccessSource = False           值 true 表示如果设置了读取写入权限,则允许用户访问源代码。源代码包括 Microsoft? Active Server Pages (ASP) 应用程序中的脚本。

AccessSSL = False        值 true 表示文件访问需要带有不带有客户端证书的 SSL 文件权限处理。

AccessSSL128 = False         值 true 表示文件访问需要至少 128 位密钥、带有不带有客户端证书的 SSL 文件权限处理。

AccessSSLFlags = 0             默认值 0 表示未设置任何 SSL 权限。

AccessSSLMapCert = False  值 true 表示 SSL 文件权限处理将客户端证书映射到 Microsoft Windows? 操作系统的用户帐户上。要实现映射,必须将 AccessSSLNegotiateCert 属性设置成 true。

AccessSSLNegotiateCert = False  值 true 表示 SSL 文件访问处理从客户端请求证书。值 false 表示如果客户端没有证书,仍可继续访问。如果服务器请求证书但证书不可用(即使也将 AccessSSLRequireCert 设成 true),某些版本的 Internet Explorer 将关闭连接。

AccessSSLRequireCert = False     值 true 表示 SSL 文件访问处理从客户端请求证书。如果客户端没有提供证书,连接会关闭。当使用 AccessSSLRequireCert 时,必须将 AccessSSLNegotiateCert 设成 true。

AccessWrite = False             值 true 表示允许用户将文件及其相关属性上载到服务器上已启用的目录中,者更改可写文件的内容。只有使用支持 HTTP 1.1 协议标准的 PUT 功能的浏览器,才能执行写入操作。

AdminACLBin =                   由 Microsoft? Exchange Server 使用

AnonymousPasswordSync = True       指出 IIS 是否应该为试图访问资源的匿名用户处理用户密码。下表列出了该属性行为的详细说明:如果将 AnonymousPasswordSync 设置为 false,管理员必须手动设置匿名用户密码的 AnonymousUserPass 属性;否则匿名访问将无法正常工作。 如果将 AnonymousPasswordSync 设置为 true,将由 IIS 设置匿名用户密码。 如果将 AnonymousPasswordSync 设置为 true 并且配置数据库属性 AllowAnonymous 值为 false,则不允许任何用户登录到 FTP 服务器。

AnonymousUserName = IUSR_COMPUTERNAME    指定用来验证匿名用户的已注册的本地用户名。服务器将每个服务器操作与用户名和密码关联起来。

AnonymousUserPass = XXXXXXXXXXXX      指定用来验证匿名用户的已注册的本地用户密码。服务器将每个服务器操作与用户名和密码关联起来。

AppAllowClientDebug = False       指定是否允许客户端调试。该属性与应用于服务器端调试的 AppAllowDebugging 无关。

AppAllowDebugging = False  指定是否允许在服务器上进行 ASP 调试。该属性与应用于客户端调试的 AppAllowClientDebug 属性无关。

AppFriendlyName = 默认应用程序     软件包应用程序的用户好记名称

AppOopRecoverLimit = -1           进程外应用程序在出现故障后重新启动的最大次数。服务器不会响应超出该范围的组件请求。该属性不适用于进程内运行的应用程序扩展。

AppPoolId = ASP.NET V2.0  应用程序在其中路由的应用程序池

AppWamClsid =                   为应用程序的 Web 应用程序管理 (WAM) 接口提供类 ID

AspAllowOutOfProcComponents = True     在 IIS 4.0 中,AspAllowOutOfProcComponents 属性指定是否允许 ASP 脚本调用进程外组件,这些组件是在应用程序内启动的可执行程序。在 IIS 5.0 中,该属性已过时,并且属性值将被忽略。但是,使用该属性的脚本仍然可以正常运行。

AspAllowSessionState = True       启用 ASP 应用程序会话状态持续性。如果将该值设置为 true,那么服务器将为每个连接创建 Session 对象,可访问会话状态,允许会话存储,出现 Session_OnStart 和 Session_OnEnd 事件,并且发送 ASPSessionID Cookie 到客户端。如果将该值设置为 false,那么不允许状态访问和存储,事件将不进行处理,并且也不发送 Cookie。

AspAppServiceFlags = 0              包含在 IIS 应用程序上启用 COM+ 服务所必须要设置的标志

AspBufferingLimit = 4194304       设置 ASP 缓冲区的最大大小。如果启动了响应缓冲,该属性将控制在进行刷新前 ASP 页面可以向响应缓冲区写入的最大字节数

AspBufferingOn = True        ASP 应用程序的输出是否需要缓冲

AspCalcLineNumber = True  ASP 是否计算和存储已执行代码的行号,以便在错误报告中提供

AspCodepage = 0                 为应用程序指定默认的代码页

AspDiskTemplateCacheDirectory = %windir%\system32\inetsrv\ASP Comp     目录的名称,该目录是 ASP 在存储器内的缓存溢出后,用来将已编译的 ASP 模板存储到磁盘的目录

AspEnableApplicationRestart = True     确定 ASP 应用程序能否自动重新启动

AspEnableAspHtmlFallback = False      当由于请求队列已满而拒绝新的请求时,AspEnableAspHtmlFallback 属性控制 ASP 的行为。将该属性设置为 true,将导致发送与请求的 .asp 文件名称类似的 .htm 文件(如果存在),而不是发送 .asp 文件。.htm 文件的命名约定是 .asp 文件名之后附加一个 _asp。例如,.asp 文件是 hello.asp,那么 .htm 文件应该是 hello_asp.htm。

AspEnableChunkedEncoding = True            指定是否为万维网发布服务(WWW 服务)启动 HTTP 1.1 chunked 传输编码

AspEnableParentPaths = False             页面是否允许当前目录的相对路径(使用 ..\ 表示法)。

AspEnableSxs = False                  值 true 将启动 COM+ 并排集合,该程序集允许 ASP 应用程序指定要使用哪个版本的系统 DLL 传统 COM 组件,例如 MDAC、MFS、MSVCRT、MSXML 等等。

AspEnableTracker = False            值 true 将启动 COM+ 跟踪器,管理员开发人员可用其来调试 ASP 应用程序。

AspEnableTypelibCache = True            是否在服务器上缓存类型库

AspErrorsToNTLog = False         是否将 IIS 脚本错误写入到 Windows 事件日志中

AspExceptionCatchEnable = True        页面是否捕获组件产生的异常。如果设置为 false (者禁用),那么 Microsoft 脚本调试程序工具将不捕捉所调试的组件发生的异常。

AspExecuteInMTA = 0                 ASP 能够在一个多线程单元 (MTA) 中运行其全部线程。如果 COM 组件主要是自由线程双线程组件,则将 ASP 线程作为 MTA 运行可显著改善性能。默认情况下,AspExecuteInMTA 属性设置为 0,这意味着 ASP 不在 MTA 中执行。在应用程序级别上将该属性设置为 1 可以使 ASP 在 MTA 中运行。

AspKeepSessionIDSecure = 0              启用 AspKeepSessionIDSecure 属性后,它可以确保将 SessionID 作为安全 Cookie 发送(如果已在安全通道上分配的话)。

AspLCID = 2048                         用程序指定默认的区域设置标识符 (LCID)。

AspLogErrorRequests = True              控制 Web 服务器是否将失败的客户请求写入到 Windows 事件日志文件中

AspMaxDiskTemplateCacheFiles = 2000      指定存储已编译 ASP 模板的最大数量。存储已编译模板的目录由 AspDiskTemplateCacheDirectory 属性配置。

AspMaxRequestEntityAllowed = 204800      指定一个 ASP 请求的实体正文中允许的最多字节数。

AspPartitionID =                  COM+ 分区用于将 Web 应用程序隔离到其各自的 COM+ 分区。COM+ 分区保存不同的自定义 COM 组件的版本。将 AspPartitionID 属性设置为 COM+ 分区的全局唯一标识符 (GUID)。同时,设置 AspAppServiceFlags 配置数据库属性的 AspUsePartition 标志。在应用程序级别设置这两个属性

AspProcessorThreadMax = 25             指定 IIS 可创建的每个处理器的最大工作线程数

AspQueueConnectionTestTime = 3              IIS 将所有的 ASP 请求放置到队列中。如果请求在队列中等待的时间比 AspQueueConnectionTestTime 属性指定的时间(以秒为单位)长,则 ASP 将在执行请求前检查确定客户端是否仍是连接的。如果客户端已断开连接,则不处理该请求并且从队列中删除该请求。

AspQueueTimeout = -1                允许 ASP 脚本请求在队列中等待的时间(以秒为单位)。无穷大表示为 -1。

AspRequestQueueMax = 3000             允许进入队列的并发 ASP 请求的最大数目。在队列占满时,任何试图请求 ASP 文件的客户端浏览器都将收到 HTTP 500“服务器太忙”的错误。

AspRunOnEndAnonymously = True            指定了 SessionOnEnd 和 ApplicationOnEnd 全局 ASP 函数是否应该作为匿名用户运行

AspScriptEngineCacheMax = 250        页面将在内存中保持缓存的脚本引擎的最大数目

AspScriptErrorMessage = 处理 URL 时服务器出错。请与系统管理员联系。    特殊调试错误没有被发送到客户端时(如果将 AspScriptErrorSentToBrowser 设置成 false)将发送给浏览器的错误消息

AspScriptErrorSentToBrowser = True  Web 服务器是否将调试细节(文件名、错误、行号、描述)写到客户端浏览器,并且记录到 Windows 事件日志中

AspScriptFileCacheSize = 500             要缓存的预编译脚本文件数。如果设置为 0,则不缓存任何脚本文件

AspScriptLanguage = VBScript            运行在 Web 服务器上的所有 ASP 应用程序的默认脚本语言

AspScriptTimeout = 90                AspScriptTimeout 属性指定了在终止脚本和将事件写入 Windows 事件日志之前,ASP 页面允许的脚本运行时间的默认值(以秒为单位)。

AspSessionMax = -1                    IIS 允许的最大并发会话数。当达到该限制时,如果客户端试图与 IIS 建立新连接,则客户端将接收到错误信息(HTTP 500“服务器太忙”)。无穷大表示为 -1。

AspSessionTimeout = 20                     完成最后的与 Session 对象相关的请求后,保留该对象的时间(以分钟为单位)。

AspSxsName =             启动并行 (SxS) 程序集。并行 (SxS) 程序集允许 ASP 应用程序指定要使用哪个版本的系统 DLL 传统 COM 组件,例如 MDAC、MFS、MSVCRT、MSXML 等。

AspTrackThreadingModel = False        IIS 是否检查应用程序创建的任意组件的线程模块。

AspUsePartition = False        值 true 将启动 COM+ 分区,可用其将 Web 应用程序隔离到各自的 COM+ 分区。COM+ 分区可拥有不同的自定义 COM 组件的版本。如果设置该标志,请同时设置 AspPartitionID 配置数据库属性。

AuthAdvNotifyDisable = True              禁用密码到期预先通知

AuthAnonymous = True               指定匿名身份验证作为可能的 Windows 验证方案之一,返回给客户端作为有效验证方案。

AuthBasic = False                 指定基本身份验证作为可能的 Windows 验证方案之一,返回给客户端作为有效验证方案。

AuthChangeDisable = True           禁止更改密码

AuthChangeUnsecure = False              允许在不安全端口更改密码

AuthChangeURL = /iisadmpwd/achg.asp      用户输入新密码时被调用的 URL

AuthExpiredUnsecureURL = /iisadmpwd/aexp3.asp     用户密码到期时调用的 URL

AuthExpiredURL = /iisadmpwd/aexp.asp      用户密码到期时调用的 URL。将以安全的 (HTTPS) 方式调用它。

AuthFlags = 5                      作为有效方案返回给客户端的 Windows 验证方案的设置

AuthMD5 = False                        指定摘要式身份验证和高级摘要式身份验证作为可能的 Windows 验证方案之一,返回给客户端作为有效验证方案。

AuthNotifyPwdExpUnsecureURL = /iisadmpwd/anot3.asp  包含一个特定的 URL:如果用户的密码在 PasswordExpirePreNotifyDays 中指定的天数前到期,则调用该 URL。

AuthNotifyPwdExpURL = /iisadmpwd/anot.asp   包含一个特定的 URL:如果用户的密码在 PasswordExpirePreNotifyDays 中指定的天数前到期,则调用该 URL。将以安全的 (HTTPS) 方式调用它。

AuthNTLM = True                      指定集成 Windows 身份验证(也称作质询/响应 NTLM 验证)作为可能的 Windows 验证方案之一,返回给客户端作为有效验证方案。

AuthPassport = False                   true 的值表示启用了 Microsoft? .NET Passport 身份验证

AuthPersistence = 64                   指定了使用 NTLM 验证跨越连接上的请求时的验证持久性

AuthPersistSingleRequest = True         将该标志设置成 true 指定验证仅对一个连接上的单个请求持久。IIS 在每个请求的末尾重设验证,并且在会话的下一个请求上强制执行重验证。

AzEnable = False                  用于虚拟目录、应用程序,配置数据库中项相应的 URL 的 URL 授权。

AzImpersonationLevel = 0            用于应用程序的模拟行为,该模拟行为允许配置 Web 应用程序模拟客户端用户、IIS 工作进程,工作进程的 IUSER_* 帐户。

AzScopeName =                         将虚拟目录、应用程序 URL 与作用域相关联。如果没有指定作用域指定了空子符串,则使用 IIS 6.0 URL 授权的默认作用域。

AzStoreName =                           授权管理器策略存储与虚拟目录、应用程序 URL 相关联。

CacheControlCustom =                指定了自定义 HTTP 1.1 缓存控制指令

CacheControlMaxAge = 0                   指定了 HTTP 1.1 缓存控制最大时间值。

CacheControlNoCache = False             保护缓存内容的 HTTP 1.1 指令

CacheISAPI = True                     在第一次使用 ISAPI 扩展后是否在内存中进行缓存。

Caption =                            提供对象的一段简短文本描述(一行字符串)。

CGITimeout = 300               指定 CGI 应用程序超时(以秒为单位)。

ContentIndexed = True                指定安装的目录索引程序是否应该检索该目录树下的内容。

CreateCGIWithNewConsole = False            指示 CGI 应用程序是否在自己的控制台上运行。

CreateProcessAsUser = True        是在系统环境中创建 CGI 进程还是在请求用户环境中创建 CGI 进程。

DefaultDoc = index.aspx,default.aspx   包含一个多个默认文档的文件名,如果在客户端的请求中不包含文件名,将把默认文档的文件名返回给客户端。

DefaultDocFooter =                     附加到返回到客户端的 HTML 文件的自定义页脚(页脚并不附加到 ASP 文件)。

DefaultLogonDomain =                服务器用来对用户进行身份验证的默认域(在 UserIsolationMode = 2 的 Web 宿主方案中)。

Description =                       提供对象的一段较长文本描述。

DirBrowseFlags = 1073741886            可以提供多少目录和文件信息(如果启用浏览)以及目录中是否包含默认页的标记。

DirBrowseShowDate = True        设置为 true 时,浏览目录时将显示日期信息。

DirBrowseShowExtension = True        设置为 true 时,浏览目录时将显示文件扩展名。

DirBrowseShowLongDate = True        设置为 true 时,显示目录时将在扩展格式中显示日期信息。

DirBrowseShowSize = True         设置为 true 时,浏览目录时将显示文件大小信息。

DirBrowseShowTime = True        设置为 true 时,显示目录时将显示文件时间信息。

DisableStaticFileCache = False             目录的静态文件缓存

DoDynamicCompression = False         与 HcDoDynamicCompression 属性相同。

DontLog = False                         是否将客户端的请求写入日志文件。

DoStaticCompression = False              与 HcDoStaticCompression 属性相同。

EnableDefaultDoc = True                    设置为 true 时,浏览目录时系统会加载该目录的默认文档(由 De, faultDoc 属性指定)。

EnableDirBrowsing = False           设置为 true 时,将启用目录浏览。

EnableDocFooter = False                    启用禁用由 DefaultDocFooter 属性指定的自定义页脚。

EnableReverseDns = False            启用禁用万维网发布服务(WWW 服务)的反向域名服务器 (DNS) 查找。

FrontPageWeb = True                  服务器实例是否由 Microsoft FrontPage 处理。


该文章在 2021/5/11 10:14:01 编辑过

全部评论2

admin
2021年5月11日 10:35
 iis7中提供了appcmd命令 可以通过命令行来配置iis

appcmd.exe 默认路径在 c:\windows\system32\inetsrv\下

若要回收应用程序池,请使用以下语法:

appcmd recycle apppool /apppool.name: string

变量 string 是要回收的应用程序池的名称。 例如,若要回收名为 Marketing 的应用程序池,请在命令提示符处键入以下命令,然后按 Enter:

appcmd recycle apppool /apppool.name: Marketing

配置本主题中的过程会影响以下配置元素:

若要计划让应用程序池在特定的时间执行回收,请使用以下语法:

appcmd set apppool /apppool.name: 字符串/+recycling.periodicRestart.schedule.[value=' timeSpan ']

变量 string 为您要配置的应用程序池的名称。变量 timeSpan 的格式为 d.hh:mm:ss,其中 d 表示可选的天数,hh:mm:ss 表示回收应用程序池时的小时、分钟和秒钟读数。指定的值必须基于 24 小时制。

若要将应用程序池配置为以特定的时间间隔执行回收,请使用以下语法:

appcmd set apppool /apppool.name: string/recycling.periodicRestart.time: ‘ timeSpan ‘]

变量 name 是要配置的应用程序池的名称。变量 timeSpan 的格式为 d.hh:mm:ss,其中 d 表示可选的天数,hh:mm:ss 表示回收应用程序所需经过的小时数、分钟数和秒数。例如,若要将应用程序池 Marketing 配置为每 30 分钟回收一次,请在命令提示符处键入以下命令,然后按 Enter:

appcmd set apppool /apppool.name: Marketing/recycling.periodicRestart.time:00:30:00

配置本主题中的过程会影响以下配置元素:下的元素的 time 属性

若要将应用程序池配置为在达到一定数量的请求后执行回收,请使用以下语法:

appcmd set apppool /apppool.name: string/recycling.periodicRestart.requests: uint

变量 string 为您要配置的应用程序池的名称。变量 uint 是一个无符号整数,用于指定回收应用程序池所需要达到的请求数量。例如,若要将名为 Marketing 的应用程序池配置为在达到 55 个请求后执行回收,请在命令提示符处键入以下命令,然后按 Enter:

appcmd set apppool /apppool.name: Marketing/recycling.periodicRestart.requests:55

配置本主题中的过程会影响以下配置元素:下的元素的 requests 属性

若要将应用程序池配置为在它使用了指定的专用内存量时执行回收,请使用以下语法:

appcmd set config /section:applicationPools/[name=' string '].recycling.periodicRestart.PRivateMemory: uint

变量 string 为您要配置的应用程序池的名称。变量 uint 是一个无符号整数,用于指定要使应用程序池执行回收所需达到的专用内存量(单位为 KB)。例如,若要将名为 Marketing 的应用程序池配置为在它使用了 2,000 KB 的专用内存时执行回收,请在命令提示符处键入以下命令,然后按 Enter:appcmd set config /section:applicationPools /[name=' Marketing'].recycling.periodicRestart.privateMemory:2000配置本主题中的过程会影响以下配置元素:下的元素的 privateMemory 属性

若要将应用程序池配置为在达到指定的虚拟内存阈值后执行回收,请使用以下语法:

appcmd set config /section:applicationPools/[name=' string '].recycling.periodicRestart.memory: uint

变量 string 为您要配置的应用程序池的名称。变量 uint 是一个无符号整数,用于指定回收应用程序池所需达到的虚拟内存量(单位为 KB)。例如,若要将应用程序池 Marketing 配置为在达到 2,000 KB 的虚拟内存后执行回收,请在命令提示符处键入以下命令,然后按 Enter:

appcmd set config /section:applicationPools/[name=' Marketing '].recycling.periodicRestart.memory:2000

配置本主题中的过程会影响以下配置元素:下的元素的 memory 属性

若要配置 IIS 以记录应用程序池因未配置的事件而执行回收时的事件,请使用以下语法:

appcmd set config /section:applicationPools/[name=' string'].recycling.logEventOnRecycle:ConfigChange|OnDemand|IsapiUnhealthy

变量 string 为您要配置的应用程序池的名称。例如,若要将 IIS 配置为记录应用程序池 Marketing 因 ISAPI 扩展处于非正常状态而执行回收时的事件,请在命令提示符处键入以下命令,然后按 Enter:

appcmd set config /section:applicationPools/[name=' Marketing '].recycling.logEventOnRecycle:IsapiUnhealthy

配置本主题中的过程会影响以下配置元素:元素的 logEventOnRecycle 属性

转载于:https://www.cnblogs.com/jiyang2008/p/7444329.html


该评论在 2021/5/11 10:35:04 编辑过
admin
2021年5月11日 11:41
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());
                        }
                    }
                }
            }

该评论在 2021/5/11 11:41:43 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved