网站安装打包 新建网站[四][虚拟目录及其它方法] 下

简介:

接上一节,网站安装打包 新建网站[四][创建网站] 中

这里提供一下创建虚拟目录的大体方法,虚拟目录是通过Root节点去创建的:

 

复制代码
public   bool  CreateWebVirtualDir( string  virtualName,  string  virtualPath,  string  siteID,  out   string  msg)
        {
            
try
            {
                msg 
=   "" ;
                siteID 
=  ( string .IsNullOrEmpty(siteID)  ?  WebSiteID : siteID);
                tempEntry.Path 
=  IISEntryPath  +   " / "   +  siteID  +   " /root " ; // 这里是一个Root节点的DirectoryEntry
                DirectoryEntry siteVDir  =  tempEntry.Children.Add(virtualName,  " IISWebVirtualDir " );
                siteVDir.Invoke(
" AppCreate " true );
                siteVDir.Properties[
" Path " ][ 0 =  virtualPath;
                siteVDir.Properties[
" AccessFlags " ][ 0 =   513 ;
                siteVDir.Properties[
" AppFriendlyName " ][ 0 =  virtualName;
                siteVDir.Properties[
" AuthFlags " ][ 0 =   0 ;
                siteVDir.Properties[
" AccessScript " ][ 0 =   true ;
                siteVDir.Properties[
" AccessSource " ][ 0 =   true ;
                siteVDir.Properties[
" AuthNTLM " ][ 0 =   true ; // 集成win身份验证
                siteVDir.Properties[ " AuthAnonymous " ][ 0 =   true ; // 集成win身份验证
                siteVDir.Properties[ " DefaultDoc " ][ 0 =  WebSiteDefaultDoc;
                siteVDir.Invoke(
" AppCreate2 " new   object [ 1 ] {  2  });
                tempEntry.CommitChanges();
                siteVDir.CommitChanges();
                
return   true ;
            }
            
catch  (Exception err)
            {
                msg 
=  err.Message;
            }
            
return   false ;
        }
复制代码

 下面再给出一些常用的方法:

网站同名检测:

 

复制代码

        
private   bool  CheckSiteExists( out   string  msg)
        {
            msg 
=   "" ;
            
foreach  (DirectoryEntry child  in  iisEntry.Children)
            {
                
if  (child.SchemaClassName  ==   " IIsWebServer " )
                {
                    
if  (child.Properties[ " ServerComment " ].Value  !=   null )
                    {
                        
if  (child.Properties[ " ServerComment " ].Value.ToString().ToLower()  ==  WebSiteName.ToLower())
                        {
                            msg 
=   " 站点名称已存在! " ;
                            
return   true ;
                        }
                    }
                }
            }
            
return   false ;
        }
复制代码

 

 

 删除一个站点:

 

复制代码
public   bool  DeleteWebSiteByID( string  siteID)
        {
            
try
            {
                siteID 
=  ( string .IsNullOrEmpty(siteID)  ?  WebSiteID : siteID);
                tempEntry.Path 
=  IISEntryPath  +   " / "   +  siteID;
                iisEntry.Children.Remove(tempEntry);
                iisEntry.CommitChanges();
                
return   true ;
            }
            
catch
            {

            }
            
return   false ;
        }
复制代码

 

Start和Stop网站:

 

复制代码
public   bool  StartWebSite( string  siteID)
        {
            
try
            {
                siteID 
=  ( string .IsNullOrEmpty(siteID)  ?  WebSiteID : siteID);
                tempEntry.Path 
=  IISEntryPath  +   " / "   +  siteID;
                tempEntry.Invoke(
" Start " new   object [] { });
                
return   true ;
            }
            
catch
            { }
            
return   false ;
        }

        
public   bool  StopWebSite( string  siteID)
        {
            
try
            {
                siteID 
=  ( string .IsNullOrEmpty(siteID)  ?  WebSiteID : siteID);
                tempEntry.Path 
=  IISEntryPath  +   " / "   +  siteID;
                tempEntry.Invoke(
" Stop " new   object [] { });
                
return   true ;
            }
            
catch  { }
            
return   false ;
        }
复制代码

 

 

打完,收工!

版权声明:本文原创发表于博客园,作者为路过秋天,原文链接:

http://www.cnblogs.com/cyq1162/archive/2010/01/26/1656568.html

相关文章
|
5月前
|
PHP
php判断文件夹是否存在,不存在新建
这样,如果指定的文件夹不存在,就会在指定路径上创建新的文件夹。
66 0
|
11月前
|
前端开发 Java 关系型数据库
SpringBoot本地上传文件到resources目录永久保存下载的最佳实践
Java后端项目上传文件是一个很常见的需求,一般正式项目中我们上传文件都是利用第三方阿里云OSS这类的,但是如果只是为了学习之用,那我们可能就会直接上传到电脑上某个本地文件夹
235 1
|
存储 JSON 安全
electron如何自定义目录,修改文件名保存下载的网络文件
很多同学觉得用localstorage可以代替vuex, 对于不变的数据确实可以,但是当两个组件共用一个数据源(对象或数组)时,如果其中一个组件改变了该数据源,希望另一个组件响应该变化时,localstorage无法做到,原因就是区别1。
electron如何自定义目录,修改文件名保存下载的网络文件
|
前端开发
node 实现文件下载,web打开迅雷下载文件
node 实现文件下载,web打开迅雷下载文件
node 实现文件下载,web打开迅雷下载文件
|
Java 应用服务中间件 Apache
tomcat官网下载配置全部详细步骤(包含各种报错解决办法)
名字由来:翻译是野猫,tomcat的作者初衷是希望这个软件可以自力更生,自给自足。不依赖其他插件,独立达到提供web服务的效果
463 0
tomcat官网下载配置全部详细步骤(包含各种报错解决办法)
|
Java 应用服务中间件 Linux
springboot上传下载文件(1)(项目和文件资源放在同一个服务器上)
springboot上传下载文件(1)(项目和文件资源放在同一个服务器上)
318 0
springboot上传下载文件(1)(项目和文件资源放在同一个服务器上)
|
安全 Java
【JavaWeb】案例:读取 WEB 工程下的资源文件、文件下载、点击切换验证码
本期主要介绍读取 WEB 工程下的资源文件、文件下载、点击切换验证码
139 0
【JavaWeb】案例:读取 WEB 工程下的资源文件、文件下载、点击切换验证码