Net中如何操作IISWord格式.docx

上传人:b****1 文档编号:5165416 上传时间:2023-05-04 格式:DOCX 页数:13 大小:19.94KB
下载 相关 举报
Net中如何操作IISWord格式.docx_第1页
第1页 / 共13页
Net中如何操作IISWord格式.docx_第2页
第2页 / 共13页
Net中如何操作IISWord格式.docx_第3页
第3页 / 共13页
Net中如何操作IISWord格式.docx_第4页
第4页 / 共13页
Net中如何操作IISWord格式.docx_第5页
第5页 / 共13页
Net中如何操作IISWord格式.docx_第6页
第6页 / 共13页
Net中如何操作IISWord格式.docx_第7页
第7页 / 共13页
Net中如何操作IISWord格式.docx_第8页
第8页 / 共13页
Net中如何操作IISWord格式.docx_第9页
第9页 / 共13页
Net中如何操作IISWord格式.docx_第10页
第10页 / 共13页
Net中如何操作IISWord格式.docx_第11页
第11页 / 共13页
Net中如何操作IISWord格式.docx_第12页
第12页 / 共13页
Net中如何操作IISWord格式.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Net中如何操作IISWord格式.docx

《Net中如何操作IISWord格式.docx》由会员分享,可在线阅读,更多相关《Net中如何操作IISWord格式.docx(13页珍藏版)》请在冰点文库上搜索。

Net中如何操作IISWord格式.docx

//ComputerName/Service/Website/Directory

  ComputerName:

即操作的服务器的名字,可以是名字也可以是IP,经常用的就是localhost

  Service:

即操作的服务器,IIS中有Web,也有FTP,还有SMTP这些服务,我们主要是操作IIS的Web功能,因此此处就是"

W3SVC"

如果是FTP则应是"

MSFTPSVC"

  WebSite:

一个IIS服务中可以包括很多的站点,这个就用于设置操作的站点。

他的值是一个数字,默认是1,表示缺省站点,如果有其它,则从1开始依次类推。

  Directory:

不用说,即操作的目录名称,一个站点一般顶层目录为"

ROOT"

,其它目录则是他的孩子(Child)。

  首先我们获取一个站点的顶层目录(根目录):

  DirectoryEntryrootfolder=newDirectoryEntry("

IIS:

//localhost/W3SVC/1/ROOT"

);

  如果我们创建这个对象是没有发生异常,则表示这个目录是真实存在的。

  下面我们来添加新的虚拟目录,比如我们要加的是"

Aspcn"

  DirectoryEntrynewVirDir=rootfolder.Children.Add("

"

IIsWebVirtualDir"

  newVirDir.Invoke("

AppCreate"

true);

  newVirDir.CommitChanges();

  rootfolder.CommitChanges();

  创建目录的思路很简单,即在根目录的子集(rootfolder.Children)中再添加一条记录,这里使用的是DirectoryEntries类中的Add方法,它返回的是一个DirectoryEntry,表示新加入的目录,第一个参数是虚拟目录的名字,第二个则是Schema的类名以表明我们加入的目录类型。

然后再使用DirectoryEntry的Invoke方法,调用ADSI中的"

方法将目录真正创建(似乎不走这一步也可以创建目录成功,但是为了保险起见,大家还是用吧),最后便是依次调用新、根目录的CommitChanges方法,确认此次操作。

  在创建新目录时,我们也可以同时给这个目录的属性赋值,但是我的实战经验告诉我,最好不要这样做,如果创建时就赋值,将有很多属性不能赋值成功,比如重要的表示真实目录的Path属性。

因此飞刀建议大家最好是先创建目录,然后再赋值,即更新目录信息。

  更新虚拟目录

  相信大家对IIS都比较熟悉,了解IIS中一些重要的设置,如可读(AccessRead)、可写(AccessWrite)、可执行(AccessExecute)等。

这些都可通过对DirectoryEntry的Properties属性集合的赋值来实现。

赋值可以通过两种方式来完成:

  第一种是调用Properties集合的Add方法,如:

  dir.Properties["

AccessRead"

].Add(true);

  第二种是对第一个索引值赋值:

][0]=true;

  这两种方法都是可行的。

具体是要看你的喜好了。

  在进行赋值之前我们还是要确定要要赋值的目标吧:

)这里我们使用DirectoryEntries类的Find方法,如:

  DirectoryEntryde=rootfolder.Children.Find("

  找到了,我们就可以赋值了。

赋值时一定要好好看看啊,虚拟目录的属性值可以超多,一查一大堆。

(太多了,飞刀我也不重复了,大家去微软的站点上查:

  比较常用的有:

AccessRead,AccessWrite,AccessExecute,AccessScript,DefaultDoc,EnableDefaultDoc,Path

  删除虚拟目录

  删除虚拟目录的方法也很简单,就是找到你要删除的虚拟目录,然后调用AppDelete方法。

  de.Invoke("

AppDelete"

  还有一种方法,就是调用Root目录的Delete方法。

  object[]paras=newobject[2];

  paras[0]="

;

//表示操作的是虚拟目录

  paras[1]="

  rootfolder.Invoke("

Delete"

paras);

  喜欢哪一种就看编程习惯了:

))

  .Net中如何操作IIS(源代码)

  usingSystem;

  usingSystem.Data;

  usingSystem.DirectoryServices;

  usingSystem.Collections;

  namespaceAspcn.Management

  {

  ///<

summary>

  ///IISManager的摘要说明。

/summary>

  publicclassIISManager

  //定义需要使用的

  privatestring_server,_website;

  privateVirtualDirectories_virdirs;

  protectedSystem.DirectoryServices.DirectoryEntryrootfolder;

  privatebool_batchflag;

  publicIISManager()

  //默认情况下使用localhost,即访问本地机

  _server="

localhost"

  _website="

1"

  _batchflag=false;

  }

  publicIISManager(stringstrServer)

  _server=strServer;

  ///定义公共属性

  //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)

  publicvoidConnect(stringstrServer,stringstrWebSite)

  _website=strWebSite;

  //判断是否存这个虚拟目录

  publicboolExists(stringstrVirdir)

  return_virdirs.Contains(strVirdir);

  //添加一个虚拟目录

  publicvoidCreate(VirtualDirectorynewdir)

  stringstrPath="

//"

+_server+"

/W3SVC/"

+_website+"

/ROOT/"

+newdir.Name;

  if(!

_virdirs.Contains(newdir.Name)||_batchflag)

  try

  //加入到ROOT的Children集合中去

  DirectoryEntrynewVirDir=rootfolder.Children.Add(newdir.Name,"

  //然后更新数据

  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;

Thisvirtualdirectoryisnotexists"

  returntmp;

  //更新一个虚拟目录

  publicvoidUpdate(VirtualDirectorydir)

  //判断需要更改的虚拟目录是否存在

  if(_virdirs.Contains(dir.Name))

  DirectoryEntryode=rootfolder.Children.Find(dir.Name,"

  UpdateDirInfo(ode,dir);

Thisvirtualdirectoryisnotexists."

  

  //删除一个虚拟目录

  publicvoidDelete(stringstrVirdir)

//表示操作的是虚拟目录

  paras[1]=strVirdir;

Can'

tdelete"

+strVirdir+"

becauseitisn'

texists."

  //批量更新

  publicvoidUpdateBatch()

  BatchUpdate(_virdirs);

  //重载一个:

-)

  publicvoidUpdateBatch(VirtualDirectoriesvds)

  BatchUpdate(vds);

  ///私有方法

  privatevoidConnectToServer()

+_website+"

/ROOT"

  this.rootfolder=newDirectoryEntry(strPath);

  _virdirs=GetVirDirs(this.rootfolder.Children);

  catch(Exceptione)

tconnecttotheserver["

+_server+"

]..."

e);

  //执行批量更新

  privatevoidBatchUpdate(VirtualDirectoriesvds)

  _batchflag=true;

  foreach(objectiteminvds.Values)

  VirtualDirectoryvd=(VirtualDirectory)item;

  switch(vd.flag)

  case0:

  break;

  case1:

  Create(vd);

  case2:

  Update(vd);

  //更新东东

  privatevoidUpdateDirInfo(DirectoryEntryde,VirtualDirectoryvd)

  de.Properties["

AnonymousUserName"

][0]=vd.AnonymousUserName;

AnonymousUserPass"

][0]=vd.AnonymousUserPass;

][0]=vd.AccessRead;

AccessExecute"

][0]=vd.AccessExecute;

AccessWrite"

][0]=vd.AccessWrite;

AuthBasic"

][0]=vd.AuthBasic;

AuthNTLM"

][0]=vd.AuthNTLM;

ContentIndexed"

][0]=vd.ContentIndexed;

EnableDefaultDoc"

][0]=vd.EnableDefaultDoc;

EnableDirBrowsing"

][0]=vd.EnableDirBrowsing;

AccessSSL"

][0]=vd.AccessSSL;

AccessScript"

][0]=vd.AccessScript;

DefaultDoc"

][0]=vd.DefaultDoc;

Path"

][0]=vd.Path;

  de.CommitChanges();

  //获取虚拟目录集合

  privateVirtualDirectoriesGetVirDirs(DirectoryEntriesdes)

  VirtualDirectoriestmpdirs=newVirtualDirectories();

  foreach(DirectoryEntrydeindes)

  if(de.SchemaClassName=="

  VirtualDirectoryvd=newVirtualDirectory();

  vd.Name=de.Name;

  vd.AccessRead=(bool)de.Properties["

][0];

  vd.AccessExecute=(bool)de.Properties["

  vd.AccessWrite=(bool)de.Properties["

  vd.AnonymousUserName=(string)de.Properties["

  vd.AnonymousUserPass=(string)de.Properties["

  vd.AuthBasic=(bool)de.Properties["

  vd.AuthNTLM=(bool)de.Properties["

  vd.ContentIndexed=(bool)de.Properties["

  vd.EnableDefaultDoc=(bool)de.Properties["

  vd.EnableDirBrowsing=(bool)de.Properties["

  vd.AccessSSL=(bool)de.Properties["

  vd.AccessScript=(bool)de.Properties["

  vd.Path=(string)de.Properties["

  vd.flag=0;

  vd.DefaultDoc=(string)de.Properties["

  tmpdirs.Add(vd.Name,vd);

  returntmpdirs;

  ///VirtualDirectory类

  publicclassVirtualDirectory

  privatebool_read,_execute,_script,_ssl,_write,_authbasic,_authntlm,_indexed,_endirbrow,_endefaultdoc;

  privatestring_ausername,_auserpass,_name,_path;

  pri

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2