首页 [计算机]代码操作IIS之虚拟目录

[计算机]代码操作IIS之虚拟目录

举报
开通vip

[计算机]代码操作IIS之虚拟目录[计算机]代码操作IIS之虚拟目录 代码操作IIS之虚拟目录 iis|虚拟目录 网上找到自己实验,并整理了一下: 整个后台文件如下: usingsystem; usingsystem。data; usingsystem。directoryservices; usingsystem。collections; usingsystem。threading; namespaceaspcn。management { /// ///iismanager的摘要说明。 /// publicclassii...

[计算机]代码操作IIS之虚拟目录
[计算机]代码操作IIS之虚拟目录 代码操作IIS之虚拟目录 iis|虚拟目录 网上找到自己实验,并整理了一下: 整个后台文件如下: usingsystem; usingsystem。data; usingsystem。directoryservices; usingsystem。collections; usingsystem。threading; namespaceaspcn。management { /// ///iismanager的摘要说明。 /// publicclassiismanager { /// ///应用程序的主入口点。 /// [stathread] staticvoidmain(string[]args) { iismanagertest=newiismanager(); test。connect(); virtualdirectoryvd=newvirtualdirectory(); vd。path=@c:\inetpub\wwwroot\项目文件夹名称; vd。name=bkdeip/webui/mobile; //if(test。exists(vd。name)) //{ //test。delete(vd。name); //} //else //{ //test。create(vd); //} test。create(vd); } //定义需要使用的 privatestring_server,_website; privatevirtualdirectories_virdirs; protectedsystem。directoryservices。directoryentryrootfolder; privatebool_batchflag; publiciismanager() { //默认情况下使用localhost,即访问本地机 _server=localhost; _website=1; _batchflag=false; } publiciismanager(stringstrserver) { _server=strserver; _website=1; _batchflag=false; } /// ///定义公共属性 /// //server属性定义访问机器的名字,可以是ip与计算名 publicstringserver { get{return_server;} set{_server=value;} } //website属性定义,为一数字,为方便,使用string //一般来说第一台主机为1,第二台主机为2,依次类推 publicstringwebsite { get{return_website;} set{_website=value;} } //虚拟目录的名字 publicvirtualdirectoriesvirdirs { get{return_virdirs;} set{_virdirs=value;} } /// ///定义公共方法 /// //连接服务器 publicvoidconnect() { connecttoserver(); } //为方便重载 publicvoidconnect(stringstrserver) { _server=strserver; connecttoserver(); } //为方便重载 publicvoidconnect(stringstrserver,stringstrwebsite) { _server=strserver; _website=strwebsite; connecttoserver(); } //判断是否存这个虚拟目录 publicboolexists(stringstrvirdir) { return_virdirs。contains(strvirdir); } //添加一个虚拟目录 publicvoidcreate(virtualdirectorynewdir) { stringstrpath=iis://+_server+/w3svc/+_website+/root/+newdir。name; if(!_virdirs。contains(newdir。name)||_batchflag) { try { //加入到root的children集合中去 directoryentrynewvirdir=rootfolder。children。add(newdir。name,iiswebvirtualdir); newvirdir。invoke(appcreate,true); newvirdir。commitchanges(); rootfolder。commitchanges(); //然后更新数据 updatedirinfo(newvirdir,newdir); } catch(exceptionee) { thrownewexception(ee。tostring()); } } else { thrownewexception(thisvirtualdirectoryisalreadyexist。); } } //得到一个虚拟目录 publicvirtualdirectorygetvirdir(stringstrvirdir) { virtualdirectorytmp=null; if(_virdirs。contains(strvirdir)) { tmp=_virdirs。find(strvirdir); ((virtualdirectory)_virdirs[strvirdir])。flag=2; } else { thrownewexception(thisvirtualdirectoryisnotexists); } returntmp; } //更新一个虚拟目录 publicvoidupdate(virtualdirectorydir) { //判断需要更改的虚拟目录是否存在 if(_virdirs。contains(dir。name)) { directoryentryode=rootfolder。children。find(dir。name,iiswebvirtualdir); updatedirinfo(ode,dir); } else { thrownewexception(thisvirtualdirectoryisnotexists。); } } //删除一个虚拟目录 publicvoiddelete(stringstrvirdir) { if(_virdirs。contains(strvirdir)) { object[]paras=newobject[2]; paras[0]=iiswebvirtualdir;// 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示操作的是虚拟目录 paras[1]=strvirdir; rootfolder。invoke(delete,paras); rootfolder。commitchanges(); } else { thrownewexception(can'tdelete+strvirdir+,becauseitisn'texists。); } } //批量更新 publicvoidupdatebatch() { batchupdate(_virdirs); } //重载一个:-) publicvoidupdatebatch(virtualdirectoriesvds) { batchupdate(vds); } /// ///私有方法 /// //连接服务器 privatevoidconnecttoserver() { stringstrpath=iis://+_server+/w3svc/+_website+/root; try { this。rootfolder=newdirectoryentry(strpath); _virdirs=getvirdirs(this。rootfolder。children); } catch(exceptione) { thrownewexception(can'tconnecttotheserver[+_server+]。,e); } } //执行批量更新 privatevoidbatchupdate(virtualdirectoriesvds) { _batchflag=true; foreach(objectiteminvds。values) { virtualdirectoryvd=(virtualdirectory)item; switch(vd。flag) { case0: break; case1: create(vd); break; case2: update(vd); break; } } _batchflag=false; } //更新东东 privatevoidupdatedirinfo(directoryentryde,virtualdirectoryvd) { de。properties[anonymoususername][0]=vd。anonymoususername; de。properties[anonymoususerpass][0]=vd。anonymoususerpass; de。properties[accessread][0]=vd。accessread; de。properties[accessexecute][0]=vd。accessexecute; de。properties[accesswrite][0]=vd。accesswrite; de。properties[authbasic][0]=vd。authbasic; de。properties[authntlm][0]=vd。authntlm; de。properties[contentindexed][0]=vd。contentindexed; de。properties[enabledefaultdoc][0]=vd。enabledefaultdoc; de。properties[enabledirbrowsing][0]=vd。enabledirbrowsing; de。properties[accessssl][0]=vd。accessssl; de。properties[accessscript][0]=vd。accessscript; de。properties[defaultdoc][0]=vd。defaultdoc; de。properties[path][0]=vd。path; de。commitchanges(); } //获取虚拟目录集合 privatevirtualdirectoriesgetvirdirs(directoryentriesdes) { virtualdirectoriestmpdirs=newvirtualdirectories(); foreach(directoryentrydeindes) { if(de。schemaclassname==iiswebvirtualdir) { virtualdirectoryvd=newvirtualdirectory(); vd。name=de。name; vd。accessread=(bool)de。properties[accessread][0]; vd。accessexecute=(bool)de。properties[accessexecute][0]; vd。accesswrite=(bool)de。properties[accesswrite][0]; vd。anonymoususername=(string)de。properties[anonymoususername][0]; vd。anonymoususerpass=(string)de。properties[anonymoususername][0]; vd。authbasic=(bool)de。properties[authbasic][0]; vd。authntlm=(bool)de。properties[authntlm][0]; vd。contentindexed=(bool)de。properties[contentindexed][0]; vd。enabledefaultdoc=(bool)de。properties[enabledefaultdoc][0]; vd。enabledirbrowsing=(bool)de。properties[enabledirbrowsing][0]; vd。accessssl=(bool)de。properties[accessssl][0]; vd。accessscript=(bool)de。properties[accessscript][0]; vd。path=(string)de。properties[path][0]; vd。flag=0; vd。defaultdoc=(string)de。properties[defaultdoc][0]; tmpdirs。add(vd。name,vd); } } returntmpdirs; } } /// ///virtualdirectory类 /// publicclassvirtualdirectory { privatebool_read,_execute,_script,_ssl,_write,_authbasic,_authntlm,_indexed,_endirbrow,_endefaultdoc; privatestring_ausername,_auserpass,_name,_path; privateint_flag; privatestring_defaultdoc; /// ///构造函数 /// publicvirtualdirectory() { setvalue(); } publicvirtualdirectory(stringstrvirdirname) { _name=strvirdirname; setvalue(); } privatevoidsetvalue() { _read=true;_execute=false;_script=false;_ssl=false;_write=false;_authbasic=fals e;_authntlm=false; _indexed=false;_endirbrow=false;_endefaultdoc=false; _flag=1; _defaultdoc=default。htm,default。aspx,default。asp,index。htm; _path=c:\\; _ausername=;_auserpass=;_name=; } /// ///定义属性,iisvirtualdir太多属性了 ///我只搞了比较重要的一些,其它的大伙需要的自个加吧。 /// publicintflag { get{return_flag;} set{_flag=value;} } publicboolaccessread { get{return_read;} set{_read=value;} } publicboolaccesswrite { get{return_write;} set{_write=value;} } publicboolaccessexecute { get{return_execute;} set{_execute=value;} } publicboolaccessssl { get{return_ssl;} set{_ssl=value;} } publicboolaccessscript { get{return_script;} set{_script=value;} } publicboolauthbasic { get{return_authbasic;} set{_authbasic=value;} } publicboolauthntlm { get{return_authntlm;} set{_authntlm=value;} } publicboolcontentindexed { get{return_indexed;} set{_indexed=value;} } publicboolenabledirbrowsing { get{return_endirbrow;} set{_endirbrow=value;} } publicboolenabledefaultdoc { get{return_endefaultdoc;} set{_endefaultdoc=value;} } publicstringname { get{return_name;} set{_name=value;} } publicstringpath { get{return_path;} set{_path=value;} } publicstringdefaultdoc { get{return_defaultdoc;} set{_defaultdoc=value;} } publicstringanonymoususername { get{return_ausername;} set{_ausername=value;} } publicstringanonymoususerpass { get{return_auserpass;} set{_auserpass=value;} } } /// ///集合virtualdirectories /// publicclassvirtualdirectories:system。collections。hashtable { publicvirtualdirectories() { } //添加新的方法 publicvirtualdirectoryfind(stringstrname) { return(virtualdirectory)this[strname]; } } }
本文档为【[计算机]代码操作IIS之虚拟目录】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_594886
暂无简介~
格式:doc
大小:35KB
软件:Word
页数:0
分类:互联网
上传时间:2017-10-27
浏览量:13