zoukankan      html  css  js  c++  java
  • 网站安装打包 新建网站[四][虚拟目录及其它方法] 下

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

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

    打完,收工!

    版权声明:本文原创发表于 博客园,作者为 路过秋天 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。
    个人微信公众号
    创业QQ群:617713515
    Donation(扫码支持作者):支付宝:
    Donation(扫码支持作者):微信:
  • 相关阅读:
    CC2540-BLE4.0 学历笔记1之串口体验
    cc2530的PWM实现
    用qt写的一个简单到不能在简单的上位机
    在Kubuntu14.04中安装小企鹅输入法
    初始化umi项目
    工具杂记(三) -- zookeeper
    工具杂记(二) -- Centos7
    工具杂记(一) -- vagrant
    (一)Docker导学
    JVM随笔(二)之搜索类
  • 原文地址:https://www.cnblogs.com/cyq1162/p/1656568.html
Copyright © 2011-2022 走看看