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

这里提供一下创建虚拟目录的大体方法,虚拟目录是通过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;
        }

 

 

打完,收工!

时间: 2024-09-26 06:32:34

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

网站安装打包 新建网站[四][文件解压] 上

在新建网站之前,就是要把打包好的项目拷贝一份到IIS指定的路径上,同时,还要为个别目录设置相应的访问权限! 于是就产生了两件事: 1.拷贝->[这里我是采用RAR打包,然后解压] 2.设置权限 如果是用拷贝方式,关于文件夹Copy,可以参考我的这篇文章: 文件夹复制操作(非递归循环遍历文件夹) http://www.cnblogs.com/cyq1162/archive/2007/05/28/762294.html     为什么我没采用拷贝的方法,前提有两个,就是项目的文件夹有太多,在制作应用

网站安装打包 新建网站[四][创建网站] 中

在IIS6.0的帮助文档中,对于创建IIS,提供了三种程序管理方法,一种是WMI,另一种是ADSI,还有一种是命令行方法. 这里,采用网上代码比较多的ADSI编程方式进行.       用C#进行ADSI编程,需要引用添加名称空间:System.DirectoryServices 主要操作类是:DirectoryEntry 操作的内容主要是xml节点:这点上,最好从IIS->网站右键->所有任务->将配置保存到一个文件 保存后,查看一下生成的xml内容.看一下网站的节点是什么格式的,这对

网站安装打包 浏览网站[五] 附加IIS其它功能

在创建完网站与虚拟目录,接下来就是要浏览网站了,于是,在界面上多加一个按钮,点击浏览是顺势而加了: 代码就一句:   Process.Start("iexplore.exe", string.Format("http://{0}",txtWebsiteIP.Text));    //IP地址用System.Net.Dns.GetHostAddresses(Dns.GetHostName())[0].ToString()就可获取   以下附加一下IIS一些其它功能:

mvc网站发布,访问要加上虚拟目录名称

问题描述 mvc网站发布,访问要加上虚拟目录名称 发布了一个mvc网站,创建了一个虚拟目录,本来主页页面,路由是/Home/Index ,但是发布后,要加上虚拟目录名称才能访问,这种情况怎么解决 急急急急急急,大虾们教下小弟! 解决方案 0.在设计MVC网站的时候,把静态资源统一放在一个文件夹下,建议目录结构使用小写字母 1.把web应用程序发布到某个路径下(略)(顺便提一句,MVC2功能上比MVC3弱一些,用到的组件很少,可以直接私有部署System.Web.Mvc:但是MVC3因为功能增加,

网站安装打包 修改app.config[六]

在winform的安装工具中,少不免有一些配置文件要放到app.config去,于是修改也是成了一种需求! 无论是修改web.config还是app.config,普遍方式都有两种,用net自带封装的类,或是自定义xml操作. 可参考之前的一篇:网站安装打包 webconfig修改[三] 这里用的,还是以xml方式操作,比竟类都写了,就顺路用上了. 这里的操作方式和webconfig的差不多一个样:    string appConfigPath = startPath + "/XXX.exe.

Serv-U中虚拟目录的设置方法(文字+图文)_FTP服务器

Serv-U虚拟目录设置文字版: 一.用Serv-U时,如果使用虚拟路径映射(虚拟目录),那么就只需设定某个文件夹为主目录,然后把想要分享文件映射到该目录下,可以有效提高利用效率,好处不言自明:不用每次把文件内容复制到主目录下.访客通过FTP就可以打开主人设定的文件资料--即使是在不同盘符下的. 要增加虚拟目录,以用户(admin)的主目录为F:\admin,想要能通过ftp://IP/admin的格式能访问到在E:\Download\中的内容,则需要为它添加虚拟目录.操作步骤如下: (1)在管

网站安装打包 概述[一]

怎么制作一个网站安装的软件? 以前一开始的时候,是通过制作web安装程序,然后框的一下把网站安装完了.但是由于网站涉及到虚拟目录,创建网站等操作,直接制作web安装程序,如果中间有大量的配置是是灵活改变的,就变的相当的烦锁了.于是,换了一种方法: 通过制作一个网站安装的工具,然后通过制作应用程序安装程序: --------就是制作一个网站安装工具,然后通过安装工具,再进行网站安装!!! 一.工具的组成:五个部分介绍: 1.软件环境检测 2.webconfig修改 3.新建网站(文件解压->创建网

win2003服务器中创建Web网站虚拟目录的图文方法_win服务器

有两种方式可以实现这一目标,一种方式是在网站主目录中新建一个子目录,并把相关内容复制到这个目录中.另一种方式就是创建虚拟目录,虚拟目录既可以是本地磁盘中的任何一个目录,也可以是网络中其他计算机中的目录.相对而言,创建子目录的方式更安全高效.<?XML:NAMESPACE PREFIX = O /> 虚拟目录需要在主目录的基础上进行创建,创建步骤如下所述: 第1步,在开始菜单中依次单击"管理工具"→"Internet信息服务(IIS)管理器"菜单项,打开&

Windows系统下安装Tomcat服务器和配置虚拟目录的方法_Tomcat

安装Tomcat和配置环境变量安装jdk,这个我就不用说了 安装的时候指定安装路径,我指定的是: D:\Program Files\Java\jdk1.6.0_05 3.解压下载的apache-tomcat-5.5.23.zip,   我指定的是D:\Program Files\apache-tomcat-5.5.26 安装完成后,打开"我的电脑"->"系统属性"->"环境变量"在"用户变量" 新建"CA