[转贴]如何在没有IIS的环境中运行Web程序

    在微软.NET平台中,自从Visual Studio 2005 以后的版本编写Web程序的时候,可以在没有IIS的环境中编译和调试,每次调试的时候都会运行起一个 Asp.net Development Server 的服务,这个服务和IIS类似,可以说是IIS的简化版,虽然不如IIS完善和成熟但是用于提供一般的IIS服务已经足够了,作为单机服务还是不错的选择,这个服务是安装Visual Studio 2005或者Visual Studio 2008的IDE中自带的WebDev.WebServer .exe文件,此文件可以独立出来和WebDev.WebHost.dll一起可以使用Asp.net Development Server 服务。

第一种方式通过命令提示行:

1、开始--运行--输入 cmd 回车

2、在命令提示行中 输入 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\WebDev.WebServer /port:38438 /path:"C:\Inetpub\wwwroot\myweb" /vpath:"/myweb"

参数说明:
/port: 指定Asp.net Development Server 提供服务的端口号 ,范围在1-65535之间任意一个未使用的端口。
/path:存放Web程序的物理路径。
/vpath:虚拟路径(可选)默认路径就是"/"。

3、打开IE浏览器通过URL:http://localhost:38438/myweb就可访问到你的网站了~!(怎么样方便吧?)

第二种方式通过WinForm(C#)来启动这个服务

实现方法如下

private void RunServer()

{

    Process P = new Process();

    p.StartInfo.FileName = "cmd.exe";           //设定程序名

    p.StartInfo.Arguments = "/c" + "C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\WebDev.WebServer /port:38438 /path:\"C:\\inetpub\\wwwroot\\myweb\" /vpath:\"/myweb\"";    //设定程序行执行参数
    p.StartInfo.UseShellExecute = false;        //关闭Shell的使用
    p.StartInfo.RedirectStandardInput = true;   //重定向标准输入
    p.StartInfo.RedirectStandardOutput = true;  //重定向标准输出

    p.StartInfo.RedirectStandardError = true;   //重定向错误输出

    p.StartInfo.CreateNoWindow = true;          //设置不显示窗口
    p.Start();  

}

另外再没有安装Visual Studio 2005或者Visual Studio 2008的计算机上怎么才能使用Asp.net Development Server 呢?

1、从安装了安装Visual Studio 2005或者Visual Studio 2008开发环境的计算机上拷贝WebDev.WebServer .exe文件

Vs2005的路径是C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\WebDev.WebServer.exe

VS2008的WebDev.WebServer .exe在C:\Program Files\Common Files\Microsoft Shared\DevServer\9.0\WebDev.WebServer .exe

2、只拷贝WebDev.WebServer .exe在没有开发环境的计算机上还不能成功运行Asp.net Development Server,还差一个叫做WebDev.WebHost.dll的文件

Vs2005的环境中这个文件保存在C:\Windows\assembly\GAC_32\WebDev.WebHost\8.0.0.0__b03f5f7f11d50a3a路径下

Vs2008的环境中这个文件保存在C:\Windows\assembly\GAC_32\WebDev.WebHost\9.0.0.0__b03f5f7f11d50a3a路径下

我们先要从有开发环境的计算机中把这个文件拷贝出来,然后再把这个文件拷贝到没有开发环境的计算机的相同的路径下Asp.net Development Server 就可以

要想拷贝WebDev.WebHost.dll必须在命令提示行中用Dos命令进行

步骤如下:

首先:开始--运行--输入 cmd 调出命令提示行

然后:Visual Studio 2005在命令提示行中执行Dos命令 copy C:\Windows\assembly\GAC_32\WebDev.WebHost\8.0.0.0__b03f5f7f11d50a3a\WebDev.WebHost.dll C:\
或者Visual Studio 2008在命令提示行中执行Dos命令 copy C:\Windows\assembly\GAC_32\WebDev.WebHost\9.0.0.0__b03f5f7f11d50a3a\WebDev.WebHost.dll C:\

这样WebDev.WebHost.dll 文件就被复制到了C盘根目录下了。

最后:将WebDev.WebServer .exe和WebDev.WebHost.dll文件拷贝到没有安装开发环境的计算机中,然后建立一个文本文件,将下面的内容复制到文本文件中保存,

md %SystemRoot%\assembly\GAC_32\WebDev.WebHost\8.0.0.0__b03f5f7f11d50a3a
xcopy C:\WebDev.WebHost.dll /y %SystemRoot%\assembly\GAC_32\WebDev.WebHost\8.0.0.0__b03f5f7f11d50a3a

将刚才文本文件的文件名改为copy.bat,然后将copy.bat拷贝到保存WebDev.WebHost.dll的文件夹中,然后运行copy.bat文件。

OK,现在运行WebDev.WebServer .exe发现服务已经可以正常启动了~!

简单吧??作为轻量级的IIS Asp.net Development Server  可是很不错的哦~!

 

http://blog.sina.com.cn/s/blog_3ef2a82a0100dfdp.html

posted @ 2010-06-07 14:11  玉开  阅读(1838)  评论(3编辑  收藏  举报