C#如何控制IIS动态添加删除网站详解
我的目的是在Winform程序里面,可以直接启动一个HTTP服务端,给下游客户连接使用。
查找相关技术,有两种方法:
1.使用C#动态添加网站应用到IIS中,借用IIS的管理能力来提供HTTP接口。本文即对此做说明
2.在Winform程序中实现Web服务器逻辑,自己监听和管理客户端请求;
利用IIS7自带类库管理IIS现在变的更强大更方便,而完全可以不需要用DirecotryEntry这个类了(乐博网中很多.net管理iis6.0的文章都用到了DirecotryEntry这个类),Microsoft.Web.Administration.dll位于IIS的目录(%WinDir%\\System32\\InetSrv)下,使用时需要引用,它基本上可以管理IIS7的各项配置。
这个类库的主体结构如下:
这里只举几个例子说明一下基本功能,更多功能请参考MSDN。
建立站点
stringSiteName="乐博网";//站点名称 stringBindArgs="*:80:";//绑定参数,注意格式 stringapl="http";//类型 stringpath="e:\\乐博网";//网站路径 ServerManagersm=newServerManager(); sm.Sites.Add(SiteName,apl,BindArgs,path); sm.CommitChanges();
修改站点
Sitesite=sm.Sites["newsite"]; site.Name=SiteName; site.Bindings[0].EndPoint.Port=9999; site.Applications[0].VirtualDirectories[0].PhysicalPath=path; sm.CommitChanges();
删除站点
Sitesite=sm.Sites["乐博网"]; sm.Sites.Remove(site); sm.CommitChanges();
站点操作
方法一:
#regionCreateWebsite添加网站 publicstringCreateWebSite(stringserverID,stringserverComment,stringdefaultVrootPath,stringHostName,stringIP,stringPort) { try { ManagementObjectoW3SVC=newManagementObject(_scope,newManagementPath(@"IIsWebService='W3SVC'"),null); if(IsWebSiteExists(serverID)) { return"SiteAlreadyExists..."; } ManagementBaseObjectinputParameters=oW3SVC.GetMethodParameters("CreateNewSite"); ManagementBaseObject[]serverBinding=newManagementBaseObject[1]; serverBinding[0]=CreateServerBinding(HostName,IP,Port); inputParameters["ServerComment"]=serverComment; inputParameters["ServerBindings"]=serverBinding; inputParameters["PathOfRootVirtualDir"]=defaultVrootPath; inputParameters["ServerId"]=serverID; ManagementBaseObjectoutParameter=null; outParameter=oW3SVC.InvokeMethod("CreateNewSite",inputParameters,null); //启动网站 stringserverName="W3SVC/"+serverID; ManagementObjectwebSite=newManagementObject(_scope,newManagementPath(@"IIsWebServer='"+serverName+"'"),null); webSite.InvokeMethod("Start",null); return(string)outParameter.Properties["ReturnValue"].Value; } catch(Exceptionex) { returnex.Message; } } publicManagementObjectCreateServerBinding(stringHostName,stringIP,stringPort) { try { ManagementClassclassBinding=newManagementClass(_scope,newManagementPath("ServerBinding"),null); ManagementObjectserverBinding=classBinding.CreateInstance(); serverBinding.Properties["Hostname"].Value=HostName; serverBinding.Properties["IP"].Value=IP; serverBinding.Properties["Port"].Value=Port; serverBinding.Put(); returnserverBinding; } catch { returnnull; } } #endregion #region添加网站事件 protectedvoidAddWebsite_Click(objectsender,EventArgse) { IISManageriis=newIISManager(); iis.Connect(); stringserverID="5556"; stringserverComment="CreateWebsite"; stringdefaultVrootPath=@"D:\web"; stringHostName="World"; stringIP=""; stringPort="9898"; ReturnMessage.Text=iis.CreateWebSite(serverID,serverComment,defaultVrootPath,HostName,IP,Port); } #endregion #regionDeleteSite删除站点 publicstringDeleteSite(stringserverID) { try { stringserverName="W3SVC/"+serverID; ManagementObjectwebSite=newManagementObject(_scope,newManagementPath(@"IIsWebServer='"+serverName+"'"),null); webSite.InvokeMethod("Stop",null); webSite.Delete(); webSite=null; return"Deletethesitesuccesfully!"; } catch(ExceptiondeleteEx) { returndeleteEx.Message; } } #endregion
方法二:
usingSystem; usingSystem.Collections.Generic; usingSystem.Text; usingSystem.DirectoryServices; namespaceWindowsApplication1 { classIISManager { publicIISManager() { } publicstaticstringVirDirSchemaName="IIsWebVirtualDir"; privatestring_serverName; publicstringServerName { get { return_serverName; } set { _serverName=value; } } //////创建網站或虚拟目录 /// ///服务器站点名称(localhost) /// 虚拟目录名称 /// 實際路徑 /// true=網站;false=虛擬目錄 /// 设置目录的安全性,0不允许匿名访问,1为允许,2基本身份验证,3允许匿名+基本身份验证,4整合Windows驗證,5允许匿名+整合Windows驗證...更多請查閱MSDN /// 1 /// 一般為localhost /// publicboolCreateWebSite(stringWebSite,stringVDirName,stringPath,boolRootDir,intiAuth,intwebSiteNum,stringserverName) { try { System.DirectoryServices.DirectoryEntryIISSchema; System.DirectoryServices.DirectoryEntryIISAdmin; System.DirectoryServices.DirectoryEntryVDir; boolIISUnderNT; // //确定IIS版本 // IISSchema=newSystem.DirectoryServices.DirectoryEntry("IIS://"+serverName+"/Schema/AppIsolated"); if(IISSchema.Properties["Syntax"].Value.ToString().ToUpper()=="BOOLEAN") IISUnderNT=true; else IISUnderNT=false; IISSchema.Dispose(); // //Gettheadminobject //获得管理权限 // IISAdmin=newSystem.DirectoryServices.DirectoryEntry("IIS://"+serverName+"/W3SVC/"+webSiteNum+"/Root"); // //Ifwe'renotcreatingarootdirectory //如果我们不能创建一个根目录 // if(!RootDir) { // //Ifthevirtualdirectoryalreadyexiststhendeleteit //如果虚拟目录已经存在则删除 // foreach(System.DirectoryServices.DirectoryEntryvinIISAdmin.Children) { if(v.Name==VDirName) { //Deletethespecifiedvirtualdirectoryifitalreadyexists try { IISAdmin.Invoke("Delete",newstring[]{v.SchemaClassName,VDirName}); IISAdmin.CommitChanges(); } catch(Exceptionex) { throwex; } } } } // //Createthevirtualdirectory //创建一个虚拟目录 // if(!RootDir) { VDir=IISAdmin.Children.Add(VDirName,"IIsWebVirtualDir"); } else { VDir=IISAdmin; } // //Makeitawebapplication //创建一个web应用 // if(IISUnderNT) { VDir.Invoke("AppCreate",false); } else { VDir.Invoke("AppCreate",true); } // //SetuptheVDir //安装虚拟目录 //AppFriendlyName,propertyName,,boolchkRead,boolchkWrite,boolchkExecute,boolchkScript,,true,false,false,true VDir.Properties["AppFriendlyName"][0]=VDirName;//应用程序名称 VDir.Properties["AccessRead"][0]=true;//设置读取权限 VDir.Properties["AccessExecute"][0]=false; VDir.Properties["AccessWrite"][0]=false; VDir.Properties["AccessScript"][0]=true;//执行权限[純腳本] //VDir.Properties["AuthNTLM"][0]=chkAuth; VDir.Properties["EnableDefaultDoc"][0]=true; VDir.Properties["EnableDirBrowsing"][0]=false; VDir.Properties["DefaultDoc"][0]="Default.aspx,Index.aspx,Index.asp";//设置默认文档,多值情况下中间用逗号分割 VDir.Properties["Path"][0]=Path; VDir.Properties["AuthFlags"][0]=iAuth; // //NTdoesn'tsupportthisproperty //NT格式不支持这特性 // if(!IISUnderNT) { VDir.Properties["AspEnableParentPaths"][0]=true; } // //Setthechanges //设置改变 // VDir.CommitChanges(); returntrue; } catch(Exceptionex) { throwex; } } /// ///獲取VDir支持的所有屬性 /// ///publicstringGetVDirPropertyName() { //System.DirectoryServices.DirectoryEntryVDir; constStringconstIISWebSiteRoot="IIS://localhost/W3SVC/1/ROOT/iKaoo"; DirectoryEntryroot=newDirectoryEntry(constIISWebSiteRoot); stringsOut=""; //下面的方法是得到所有属性名称的方法: foreach(PropertyValueCollectionpvcinroot.Properties) { //Console.WriteLine(pvc.PropertyName); sOut+=pvc.PropertyName+":"+pvc.Value.ToString()+"-----------"; } returnsOut; } /// ///創建虛擬目錄 /// ///虛擬目錄程式名稱 /// 實體路徑 /// 黙認首頁,多個名稱用逗號分隔 /// 设置目录的安全性,0不允许匿名访问,1为允许,2基本身份验证,3允许匿名+基本身份验证,4整合Windows驗證,5允许匿名+整合Windows驗證...更多請查閱MSDN /// Win2K,2K3支持多個網站,本次操作哪個網站,黙認網站為1 /// publicboolCreateVDir(stringsDirName,stringsPath,stringsDefaultDoc,intiAuthFlags,stringsWebSiteNumber) { try { StringsIISWebSiteRoot="IIS://localhost/W3SVC/"+sWebSiteNumber+"/ROOT"; DirectoryEntryroot=newDirectoryEntry(sIISWebSiteRoot); foreach(System.DirectoryServices.DirectoryEntryvinroot.Children) { if(v.Name==sDirName) { //Deletethespecifiedvirtualdirectoryifitalreadyexists root.Invoke("Delete",newstring[]{v.SchemaClassName,sDirName}); root.CommitChanges(); } } DirectoryEntrytbEntry=root.Children.Add(sDirName,root.SchemaClassName); tbEntry.Properties["Path"][0]=sPath; tbEntry.Invoke("AppCreate",true); //tbEntry.Properties["AccessRead"][0]=true; //tbEntry.Properties["ContentIndexed"][0]=true; tbEntry.Properties["DefaultDoc"][0]=sDefaultDoc; tbEntry.Properties["AppFriendlyName"][0]=sDirName; //tbEntry.Properties["AccessScript"][0]=true; //tbEntry.Properties["DontLog"][0]=true; //tbEntry.Properties["AuthFlags"][0]=0; tbEntry.Properties["AuthFlags"][0]=iAuthFlags; tbEntry.CommitChanges(); returntrue; } catch(Exceptionex) { throwex; } } } } 调用DEMO: privatevoidbutton1_Click(objectsender,EventArgse) { if(newIISManager().CreateWebSite("localhost","Vtest","E:\\DOC",false,1,1,"localhost")) lbInfo.Text="CreateVtestOK"; } privatevoidbutton2_Click(objectsender,EventArgse) { txtPN.Text=newIISManager().GetVDirPropertyName(); } privatevoidbutton3_Click(objectsender,EventArgse) { if(newIISManager().CreateVDir("iKaoo","E:\\DOC","index.aspx,Default.aspx",1,"1")) lbInfo.Text="CreateiKaooOK"; }
同样的方式,也可以对网站对属性进行修改。
IIS的站点属性(详细内容,请查阅IIS帮助)
ReadonlypropertiesofW3SVC/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/WritepropertiesofW3SVC/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表示可通过MicrosoftInternetExplorer读取文件或文件夹的内容。
AccessScript=True 值true表示如果是脚本文件或静态内容,则可以执行文件或文件夹的内容。值false只允许提供静态文件,如HTML文件。
AccessSource=False 值true表示如果设置了读取或写入权限,则允许用户访问源代码。源代码包括Microsoft?ActiveServerPages(ASP)应用程序中的脚本。
AccessSSL=False 值true表示文件访问需要带有或不带有客户端证书的SSL文件权限处理。
AccessSSL128=False 值true表示文件访问需要至少128位密钥、带有或不带有客户端证书的SSL文件权限处理。
AccessSSLFlags=0 默认值0表示未设置任何SSL权限。
AccessSSLMapCert=False 值true表示SSL文件权限处理将客户端证书映射到MicrosoftWindows?操作系统的用户帐户上。要实现映射,必须将AccessSSLNegotiateCert属性设置成true。
AccessSSLNegotiateCert=False 值true表示SSL文件访问处理从客户端请求证书。值false表示如果客户端没有证书,仍可继续访问。如果服务器请求证书但证书不可用(即使也将AccessSSLRequireCert设成true),某些版本的InternetExplorer将关闭连接。
AccessSSLRequireCert=False 值true表示SSL文件访问处理从客户端请求证书。如果客户端没有提供证书,连接会关闭。当使用AccessSSLRequireCert时,必须将AccessSSLNegotiateCert设成true。
AccessWrite=False 值true表示允许用户将文件及其相关属性上载到服务器上已启用的目录中,或者更改可写文件的内容。只有使用支持HTTP1.1协议标准的PUT功能的浏览器,才能执行写入操作。
AdminACLBin= 由Microsoft?ExchangeServer使用
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.NETV2.0 应用程序在其中路由的应用程序池
AppWamClsid= 为应用程序的Web应用程序管理(WAM)接口提供类ID
AspAllowOutOfProcComponents=True 在IIS4.0中,AspAllowOutOfProcComponents属性指定是否允许ASP脚本调用进程外组件,这些组件是在应用程序内启动的可执行程序。在IIS5.0中,该属性已过时,并且属性值将被忽略。但是,使用该属性的脚本仍然可以正常运行。
AspAllowSessionState=True 启用ASP应用程序会话状态持续性。如果将该值设置为true,那么服务器将为每个连接创建Session对象,可访问会话状态,允许会话存储,出现Session_OnStart和Session_OnEnd事件,并且发送ASPSessionIDCookie到客户端。如果将该值设置为false,那么不允许状态访问和存储,事件将不进行处理,并且也不发送Cookie。
AspAppServiceFlags=0 包含在IIS应用程序上启用COM+服务所必须要设置的标志
AspBufferingLimit=4194304 设置ASP缓冲区的最大大小。如果启动了响应缓冲,该属性将控制在进行刷新前ASP页面可以向响应缓冲区写入的最大字节数
AspBufferingOn=True ASP应用程序的输出是否需要缓冲
AspCalcLineNumber=True ASP是否计算和存储已执行代码的行号,以便在错误报告中提供
AspCodepage=0 为应用程序指定默认的代码页
AspDiskTemplateCacheDirectory=%windir%\system32\inetsrv\ASPComp 目录的名称,该目录是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服务)启动HTTP1.1chunked传输编码
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文件的客户端浏览器都将收到HTTP500“服务器太忙”的错误。
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建立新连接,则客户端将接收到错误信息(HTTP500“服务器太忙”)。无穷大表示为-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?.NETPassport身份验证
AuthPersistence=64 指定了使用NTLM验证跨越连接上的请求时的验证持久性
AuthPersistSingleRequest=True 将该标志设置成true指定验证仅对一个连接上的单个请求持久。IIS在每个请求的末尾重设验证,并且在会话的下一个请求上强制执行重验证。
AzEnable=False 用于虚拟目录、应用程序,或配置数据库中项相应的URL的URL授权。
AzImpersonationLevel=0 用于应用程序的模拟行为,该模拟行为允许配置Web应用程序模拟客户端用户、IIS工作进程,或工作进程的IUSER_*帐户。
AzScopeName= 将虚拟目录、应用程序或URL与作用域相关联。如果没有指定作用域或指定了空子符串,则使用IIS6.0URL授权的默认作用域。
AzStoreName= 授权管理器策略存储与虚拟目录、应用程序或URL相关联。
CacheControlCustom= 指定了自定义HTTP1.1缓存控制指令。
CacheControlMaxAge=0 指定了HTTP1.1缓存控制最大时间值。
CacheControlNoCache=False 保护缓存内容的HTTP1.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?处理。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。