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

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

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

 

如下功能:

 

  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

            { }

        }

 

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

你可能感兴趣的:(.net)