设为首页 收藏本站
查看: 830|回复: 0

[经验分享] 如何在没有IIS的环境中运行Web程序和Web Service[原创]

[复制链接]

尚未签到

发表于 2015-8-12 13:55:24 | 显示全部楼层 |阅读模式
  作者:lhxhappy   
原文链接:http://www.iyunv.com/lhxhappy/archive/2008/08/04/1259503.html
  转载请注明出处。

最近开发了一个网络版的程序,程序的UI是WinForm的,数据交互全部采用Web Service 报表采用 Web Form 嵌入到WinForm 中,
  这种构架的程序必须得有IIS服务器支持,否则整个程序都无法运行,老总最近突然发奇想,说是要我们封装个单机版的程序出来拿去推广
  封装到是简单,可是多数单机客户都不会安装IIS,即使安装了,也基本不会配置啊~!程序离开了IIS又运行不了,这可怎么是好呢??
  今天在编译Web程序的时候突然受到了启发,Vs2005 以后的版本编写Web程序的时候,可以在没有IIS的环境中编译和调试,每次调试
  的时候都会运行起一个 Asp.net Development Server 的服务,这个服务和IIS类似,可以说是IIS的简化版,虽然不如IIS完善和成熟但是
  用于提供一般的IIS服务已经足够了,但是必须要按照了Vs2005或者vs2008的计算机才能使用Asp.net Development Server 来提供IIS服
  务,不过呢不用担心,只要拷贝几个关键的文件,在没有安装开发环境的计算机上同样也是可以运行Asp.net Development Server 。
  
  废话不多说了下面让我们来看看怎么样,把Asp.net Development Server 的服务启动起来
  第一种方式
  通过命令提示行:
  1、开始--运行--输入 CMD 回车
  2、在命令提示行中 输入 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\WebDev.WebServer /port:38438 /path:"F:\Work\inetpub\wwwroot\lhx" /vpath:"/lhx"
  参数说明:/port: 指定Asp.net Development Server 提供服务的端口号 ,范围在1-65535之间任意一个未使用的端口。
  /path:存放Web程序的物理路径
  /vpath:虚拟路径 (可选)默认路径就是"/"
  3、打开IE浏览器通过URL:http://localhost:38438/lhx就可访问到你的网站了~!(怎么样方便吧?)
  
  第二种方式:
  通过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:\"F:\\Work\\inetpub\\wwwroot\\lhx\" /vpath:\"/lhx\"";    //设定程序行执行参数
                p.StartInfo.UseShellExecute = false;        //关闭Shell的使用
                p.StartInfo.RedirectStandardInput = true;   //重定向标准输入
                p.StartInfo.RedirectStandardOutput = true;  //重定向标准输出
  p.StartInfo.RedirectStandardError = true;   //重定向错误输出
  p.StartInfo.CreateNoWindow = true;          //设置不显示窗口

                p.Start();  
  }
  
  另外再没有安装VS2005或者Vs2008的计算机上怎么才能使用Asp.net Development Server 呢?
  1、从安装了Vs2005或者Vs2008开发环境的计算机上拷贝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 调出命令提示行
  然后:在命令提示行中执行Dos命令 copy C:\Windows\assembly\GAC_32\WebDev.WebHost\8.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 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  可是很不错的哦~!
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-98002-1-1.html 上篇帖子: 基于iis express7.5局域网asp.net4.0服务器 下篇帖子: IIS URL Rewriting 和 ASP.NET routing(上)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表