简介

visual studio安装后会自带小型的“iis”服务器,本文就简单提取一下这个组件,自己做一个小型“iis”服务器吧。
先来说用途吧(废话可绕过),比如在服务器上没有安装iis,或者给客户演示asp.net程序,客户机没装iis或者客户的机子装不了iis,或者嫌装iis麻烦,等等,前提下,或者想快速在不打开iis的情况下,通过鼠标右键就能让动态程序就跑起来的情况下,都是很实用的(注意被使用机器必须有net framework环境)。

使用截图

实现原理

调用vs安装自动组件WebDev.WebServer20.EXE完成的,调用命令:WebDev.WebServer20.EXE /port:端口号 /path:"文件物理路径" /vpath:"/"

实现方法

系统程序目录:

1、vs安装包提取两个组件
  a、WebDev.WebHost.dll
      路径:%windir%\assembly\gac_32\webdev.webhost\(文件夹下)
  b、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
2、添加系统右键菜单(快捷键)相关
  a、添加注册表代码(批处理):

@echo off
set batpath=%~sdp0main.bat" "%%1
REG ADD HKEY_CLASSES_ROOT\Directory\shell\运行SmallIIS\command /ve /t REG_SZ /d %batpath%

b、卸载注册表代码(批处理):

REG Delete HKEY_CLASSES_ROOT\Directory\shell\运行SmallIIS /f

3、主要系统调用组件主题代码(批处理)

@echo off
set /p myport=请输入端口号:
start %~sdp0WebDev.WebServer20.EXE /port:%myport% /path:%1 /vpath:"/"
start http://localhost:%myport%/
::echo 端口的是:%myport%
::echo 端口的是:%1
::pause

总结

需要的朋友可以下载源码:http://pan.baidu.com/share/link?shareid=78820&uk=590309421如果觉得对您有帮助,请点击支持,谢谢!

出处:http://www.cnblogs.com/vipstone/archive/2012/10/12/2720832.html

visual studio内置“iis”组件提取及二次开发的更多相关文章

  1. Visual Studio 内置快速生产代码简写集合

    工作之余,整理了一下,Visual Studio 里面的快速生产代码缩写集合,这个拿出来分享想一下,希望对您有所帮助. 文件下载地址:VS内置生产代码缩写集合文档.rar 首字母 简写 生成代码 a ...

  2. vs2013 内置IIS Express相关问题

    问题描述,以前做的程序迁移到vs2013后出现500.22问题. HTTP 错误 500.22 - Internal Server Error 检测到在集成的托管管道模式下不适用的 ASP.NET 设 ...

  3. Visual Studio 2013 Ultimate & IIS Express 8.0 错误 [iisexpress.exe”已退出,返回值为 -1073741816 (0xc0000008)] 解决方法

    1. 开发环境 Visual Studio 2013 Ultimate IIS 8.0 Express 2. 错误信息 错误提示:iisexpress.exe”已退出,返回值为 -1073741816 ...

  4. DRF内置权限组件之自定义权限管理类

    DRF内置权限组件permissions 权限控制可以限制用户对于视图的访问和对于具体数据对象的访问. 在执行视图的dispatch()方法前,会先进行视图访问权限的判断 在通过get_object( ...

  5. DRF内置过滤组件与排序组件结合使用

    DRF内置过滤组件Filtering DRF提供了内置过滤组件Filtering,可以结合url路径的改变获取想要的数据,当然用户不可能在url访问路径中自己设置过滤条件,肯定是后端开发人员将前端页面 ...

  6. 根据官方文档使用Visual Studio Code创建代码组件的一些总结

    1.安装组件Visual Studio Code Download Visual Studio Code - Mac, Linux, Windows 2.安装Node.js Download | No ...

  7. 通过设置启用 Visual Studio 默认关闭的大量强大的功能提升开发效率

    原文:通过设置启用 Visual Studio 默认关闭的大量强大的功能提升开发效率 使用 Visual Studio 开发 C#/.NET 应用程序,以前有 ReSharper 来不足其各项功能短板 ...

  8. Win7下的内置FTP组件的设置详解

    在局域网中共享文件,FTP是比较方便的方案之一.Win7内部集成了FTP,只是设置起来颇费一番功夫.着文以记之. 一.安装FTP组件 由于Win7默认没有安装FTP组件.故FTP的设置第一步就是安装F ...

  9. Visual Studio的Web Performance Test提取规则详解(2)

    总结 Visual Studio的Web Performance Test是基于HTTP协议层的,它不依赖于浏览器,通过直接接收,发送HTTP包来和Web服务器交互.Web Performance T ...

随机推荐

  1. HttpClient4.x 使用cookie保持会话

    HttpClient4.x可以自带维持会话功能,只要使用同一个HttpClient且未关闭连接,则可以使用相同会话来访问其他要求登录验证的服务(见TestLogin()方法中的“执行get请求”部分) ...

  2. 深入理解jvm--Java中init和clinit区别完全解析(转)

    转自:http://blog.csdn.net/u013309870/article/details/72975536 init和clinit区别 ①init和clinit方法执行时机不同 init是 ...

  3. 【运维技术】从零开始搭建开发使用的Kafka环境

    [原创]从零开始搭建开发使用的Kafka环境 入门资料 百度百科: Kafka是一种高吞吐量的分布式发布订阅消息系统,这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决. 对于像Hadoop ...

  4. [OpenCV入门教程之十二】OpenCV边缘检测:Canny算子,Sobel算子,Laplace算子,Scharr滤波器合辑

    http://blog.csdn.net/poem_qianmo/article/details/25560901 本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog ...

  5. 20145333《网络对抗》Exp2 后门原理与实践

    20145333<网络对抗>Exp2 后门原理与实践 1.基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 通过邮件发送,邮箱里经常受到一些陌生人发来的链接. 误入了一 ...

  6. CSS3动画库——animate.css

    初见animate.css的时候,感觉很棒,基本上很多常用的CSS3动画效果都帮我们写好了,所以想要哪一种效果直接就可以拿过来用,甚是方便: 效果展示官网:http://daneden.github. ...

  7. awk根据指定的字符串分割字符串

    以从字符串"hello-kitty-red-for-you"中获取-for前面的内容为例: echo "hello-kitty-red-for-you" |aw ...

  8. jquery.validation.js 使用

    引用文件: "~/assets/global/plugins/jquery-validation/js/jquery.validate.min.js", "~/asset ...

  9. python应用-随机漫步

    对python应用的一个巩固,以及熟悉matplotlib的用法 效果如下: # -*- coding: utf-8 -*- """ Created on Fri Sep ...

  10. ubuntu 10.04 安装arm交叉编译器

    家里有一台cotext-A9(armv7-a) 的盒子,现在不用了, 一直想着废物利用.于是想怎么为这盒子编译程序. 目标机器: root@routon-h1:/# uname -a Linux ro ...