举一些C#操作IIS代码

dingyandx15

dingyandx15

2016-02-19 12:26

下面图老师小编要向大家介绍下举一些C#操作IIS代码,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!
 using System;
using System.DirectoryServices;
using System.Collections;

namespace OPS.Component
{
    /**//// summary
    /// IISWebServer的状态
    /// /summary
    public enum IISServerState
    {
        /**//// summary
        /// 
        /// /summary
        Starting = 1,
        /**//// summary
        /// 
        /// /summary
        Started = 2,
        /**//// summary
        /// 
        /// /summary
        Stopping = 3,
        /**//// summary
        /// 
        /// /summary
        Stopped = 4,
        /**//// summary
        /// 
        /// /summary
        Pausing = 5,
        /**//// summary
        /// 
        /// /summary
        Paused = 6,
        /**//// summary
        /// 
        /// /summary
        Continuing = 7
    }
}

 using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;

using System.DirectoryServices;

namespace OPS.Component
{
    /**//// summary
    /// IISWebServer
    /// /summary
    public class IISWebServer
    {
        /**//**/
        /**//// summary
        /// 
        /// /summary
        internal int index = -1;
        /**//**/
        /**//// summary
        /// 
        /// /summary
        public IISWebVirtualDirCollection WebVirtualDirs;
        /**//**/
        /**//// summary
        /// 网站说明
        /// /summary
        public string ServerComment = "Way";
        /**//**/
        /**//// summary
        /// 脚本支持
        /// /summary
        public bool AccessScript = true;
        /**//**/
        /**//// summary
        /// 读取
        /// /summary
        public bool AccessRead = true;
        /**//**/
        /**//// summary
        /// 物理路径
        /// /summary
        public string Path = @"c:";
        /**//**/
        /**//// summary
        /// 端口
        /// /summary
        public int Port = 80;
        /**//**/
        /**//// summary
        /// 目录浏览
        /// /summary
        public bool EnableDirBrowsing = false;
        /**//**/
        /**//// summary
        /// 默认文档
        /// /summary
        public string DefaultDoc = "index.aspx";
        /**//**/
        /**//// summary
        /// 使用默认文档
        /// /summary
        public bool EnableDefaultDoc = true;

        /**//**/
        /**//// summary
        /// IISWebServer的状态
        /// /summary
        public IISServerState ServerState
        {
            get
            {
                DirectoryEntry server = IISManagement.returnIISWebserver(this.index);
                if (server == null)
                    throw (new Exception("找不到此IISWebServer"));
                switch (server.Properties["ServerState"][0].ToString())
                {
                    case "2":
                        return IISServerState.Started;
                    case "4":
                        return IISServerState.Stopped;
                    case "6":
                        return IISServerState.Paused;
                }
                return IISServerState.Stopped;
            }
        }

        /**//**/
        /**//// summary
        /// 停止IISWebServer
        /// /summary
        public void Stop()
        {
            DirectoryEntry Server;
            if (index == -1)
                throw (new Exception("在IIS找不到此IISWebServer!"));
            try
            {
                Server = new DirectoryEntry("IIS://" + IISManagement.Machinename + "/W3SVC/" + index);
                if (Server != null)
                    Server.Invoke("stop", new object[0]);
                else
                    throw (new Exception("在IIS找不到此IISWebServer!"));
            }
            catch
            {
                throw (new Exception("在IIS找不到此IISWebServer!"));
            }
        }

        /**//**/
        /**//// summary
        /// 把基本信息的更改更新到IIS
        /// /summary
        public void CommitChanges()
        {
            IISManagement.EditIISWebServer(this);
        }

        /**//**/
        /**//// summary
        /// 启动IISWebServer
        /// /summary
        public void Start()
        {
            if (index == -1)
                throw (new Exception("在IIS找不到此IISWebServer!"));

            DirectoryEntry Service = new DirectoryEntry("IIS://" + IISManagement.Machinename + "/W3SVC");
            DirectoryEntry Server;
            IEnumerator ie = Service.Children.GetEnumerator();

            while (ie.MoveNext())
            {
                Server = (DirectoryEntry)ie.Current;
                if (Server.SchemaClassName == "IIsWebServer")
                {
                    if (Server.Properties["Serverbindings"][0].ToString() == ":" + this.Port + ":")
                    {
                        Server.Invoke("stop", new object[0]);
                    }
                }
            }

            try
            {
                Server = new DirectoryEntry("IIS://" + IISManagement.Machinename + "/W3SVC/" + index);
                if (Server != null)
                    Server.Invoke("start", new object[0]);
                else
                    throw (new Exception("在IIS找不到此IISWebServer!"));
            }
            catch
            {
     &n
展开更多 50%)
分享

猜你喜欢

举一些C#操作IIS代码

编程语言 网络编程
举一些C#操作IIS代码

用C#操纵IIS(代码)

编程语言 网络编程
用C#操纵IIS(代码)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

C#中一些字符串操作的常用用法

编程语言 网络编程
C#中一些字符串操作的常用用法

C# WORD操作实现代码

编程语言 网络编程
C# WORD操作实现代码

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

FSO一些代码

Web开发
FSO一些代码

用C#写vs插件中的一些Tip

电脑网络
用C#写vs插件中的一些Tip

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

如何访问文本文件(2)----用MicrosoftJet访问桌面数据库(四)

如何访问文本文件(2)----用MicrosoftJet访问桌面数据库(四)

AJAX在Post中文的时候乱码的解决方法

AJAX在Post中文的时候乱码的解决方法
下拉加载更多内容 ↓