当前位置: 移动技术网 > IT编程>开发语言>.net > 使用ASP.NET操作IIS7中应用程序

使用ASP.NET操作IIS7中应用程序

2017年12月12日  | 移动技术网IT编程  | 我要评论
在最新发布的启明星portal里,增加了安装程序,下面说一下.net对iis7操作。iis7的操作和iis5/6有很大的不同,在iis7里增加了 microsoft.web

在最新发布的启明星portal里,增加了安装程序,下面说一下.net对iis7操作。iis7的操作和iis5/6有很大的不同,在iis7里增加了 microsoft.web.administration 命名空间里,增加了servermanager、site几个大类来操作iis7。

下面是一些核心代码,可以直接使用

建立虚拟目录

建立虚拟目录时,默认使用“default web site”,也就是默认建立在default web site, createvdir需要两个参数:虚拟路径名称和实际的物理路径.

public static bool createvdir(string vdir, string phydir)  
{  
servermanager servermanager = new servermanager();  
site mysite = servermanager.sites["default web site"];  
mysite.applications.add("/" + vdir, phydir); servermanager.commitchanges();  
return true;  
} 

这里建立的是在default web site下的虚拟目录,将上面的mysite修改为

site mysite = iismanager.sites.add("test", "http", "*:80:" + webname + ".intranet." + tld, @"c:\webs\" + webname); 

则可以建立网站。这2个区别是:你建立一个网站。前面的访问示意url是 http://www.dotnetcms.org/book ,而后者是http://book.dotnetcms.org

接下来创建应用程序池

public static void createapppool( string apppoolname)  
{  
try {  
servermanager servermanager = new servermanager();  
servermanager.applicationpools.add(apppoolname);  
applicationpool apppool = servermanager.applicationpools[apppoolname];  
apppool.managedpipelinemode = managedpipelinemode.classic;  
servermanager.commitchanges();  
apppool.recycle(); }  
catch { }  
} 

这里managedpipelinemode的取值 managedpipelinemode.classic;iis7支持经典classic方式和interget集成方式,在集成方式下

自定义的handler和module可能无效,如果你想和以前iis5/6版本兼容可以使用classic方式,否则建议使用集成方式。

下面代码演示了如何把虚拟目录分配到应用程序池,和iis5/6最大的区别是vdir其实是vdir path,所以这里加了一个“/”,表示一个虚路径。

public static void assignvdirtoapppool(string vdir, string apppoolname)  
{  
try  
{  
servermanager servermanager = new servermanager();  
site site = servermanager.sites["default web site"];  
site.applications["/" + vdir].applicationpoolname = apppoolname;  
servermanager.commitchanges();  
}  
catch { }  
} 

最后增加一个删除操作

public static bool deletevdir(string vdirname)  
{  
try  
{  
servermanager servermanager = new servermanager();  
site mysite = servermanager.sites["default web site"];  
microsoft.web.administration.application application = mysite.applications["/" + vdirname];  
mysite.applications.remove(application);  
servermanager.commitchanges();  
return true;  
}  
catch {  
return false; 
}  
} 

到此,.net操作iis7的基本功能已经实现了,希望对大家的学习有所帮助。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网