SmartIIS 使用VS组件,在没有装IIS情况下浏览.NET网站的简单服务器(附源码)

今天有感于http://www.cnblogs.com/stone_w/archive/2012/10/12/2720832.html的这篇文章,所以写了一个Winform程序,原理都是一样,都是提取VS中的组件并用命令行运行就可以了,先看界面吧:

如下功能:

  1. 点击“启动”即启动服务器,
  2. 点击“浏览网站”或“网站地址”打开网站
  3. 所有CMD指令在后台运行

具体方法:

  •  在项目中加入   WebDev.WebHost.dll 文件

      路径:%windir%\assembly\gac_32\webdev.webhost\(文件夹下)

  •  在项目中加入 WebDev.WebServer20.EXE 文件(或者WebDev.WebServer40.EXE 4.0版本)

      路径:VS2008 下的 WebDev.WebServer.EXE 路径:
              C:\Program Files\Common Files\Microsoft Shared\DevServer\9.0\WebDev.WebServer.EXE
              VS2010 Bit64下 路径:
              C:\Program Files (x86)\Common Files\microsoft shared\DevServer\10.0\WebDev.WebServer20.EXE
              C:\Program Files (x86)\Common Files\microsoft shared\DevServer\10.0\WebDev.WebServer40.EXE

  •     执行CMD命令 WebDev.WebServer20.EXE /port:端口号 /path:"文件物理路径" /vpath:"/" 

其他不多说,直接上代码:

/// <summary>
        /// 启动服务
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button2_Click(object sender, EventArgs e)
        {
            //从Visual Studio 中提取的两个文件:WebDev.WebHost.dll , WebDev.WebServer20.EXE
            //执行CMD命令(\"为双引号的转义符),即:WebDev.WebServer20.EXE /port:端口号 /path:"文件物理路径" /vpath:"/"
            String str ="WebDev.WebServer20.EXE  /port:"+textBox2.Text+" /path:\""+ textBox1.Text+"\" /vpath:\"/\"";
            RunCmd (str);

            //提示
            listBox1.Items.Add("[" + DateTime.Now.ToShortTimeString() + "]  服务已启动......");
        }

        /// <summary>
        /// 运行CMD命令
        /// </summary>
        /// <param name="command"></param>
        /// <returns></returns>
        private void  RunCmd(string command)
        {
            try
            {
                //实例一个Process类,启动一个独立进程
                Process p = new Process();
                //Process类有一个StartInfo属性,这个是ProcessStartInfo类,包括了一些属性和方法,下面我们用到了他的几个属性:
                p.StartInfo.FileName = "cmd.exe";           //设定程序名
                p.StartInfo.Arguments = "/c " + command;    //设定程式执行参数
                p.StartInfo.UseShellExecute = false;        //关闭Shell的使用
                p.StartInfo.RedirectStandardInput = true;   //重定向标准输入
                p.StartInfo.RedirectStandardOutput = true;  //重定向标准输出
                p.StartInfo.RedirectStandardError = true;   //重定向错误输出
                p.StartInfo.CreateNoWindow = true;          //设置不显示窗口
                p.Start();   //启动
            }
            catch
            { }
        }

下载源码:https://files.cnblogs.com/mane/SmartIIS.zip

原文地址:https://www.cnblogs.com/mane/p/2721389.html