简介

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. Python ConfigParser的使用

    1.基本的读取配置文件 -read(filename) 直接读取ini文件内容 -sections() 得到所有的section,并以列表的形式返回 -options(section) 得到该sect ...

  2. jQuery源码分析--Event模块(3)

    最后剩下了事件的手动触发了.jQuery提供了两个函数trigger和triggerHandler来手动触发事件,可以触发原生事件和自定义的事件.这个触发不单只会触发有jQuery绑定事件,而且也会触 ...

  3. Ubuntu16.04安装wireshark

    Wireshark是一个非常强大的抓包工具,适用于各种场合,安装配置也简单.这里仅对在Ubuntu上的安装做介绍. 首先通过apt安装WireShark: $ sudo apt-add-reposit ...

  4. Redis设置Auth认证保护

    redis有一个认证方式来保护数据的安全.设置此认证有两种方式,一种是通过配置文件,一个是在redis客户端命令直接设定 一.配置文件(需要重启redis生效) 找到参数 requirepass, 这 ...

  5. poj1985 / poj2631(树的直径)

    poj1985 Cow Marathon 树的直径裸题 树的直径的一般求法: 任意一点为起点,dfs/bfs找出与它最远的点$u$ 以$u$为起点,dfs/bfs找出与它最远的点$v$ 则$d(u,v ...

  6. 如何线程安全的使用HashMap

    本文转自:http://www.importnew.com/21396.html 面试时被问到HashMap是否是线程安全的,如何在线程安全的前提下使用HashMap,其实也就是HashMap,Has ...

  7. Qt5窗口标题栏高度

    1.frameGeometry().height() - geometry().height() 2. QRect desktopRect = QApplication::desktop()-> ...

  8. [学习笔记]ST表

    ST表 给定一个数列$a,O(nlogn)$预处理,$O(1)$查询数列在区间$[l,r]$的最值. 本文介绍求最大值. 实现 预处理 $st[i][j]$表示$max\{a_k\}(k\in[i,i ...

  9. Web开发中的显示与隐藏

    大多数编程语言,在平开发过程中,都是会遇到一些特殊的场景,需要实现显示或者隐藏来达到我们想要的效果:然而实现的方式有多种,今天就写一下,希望可以帮到各位. 小编我学习前端1年了,特意写写博客来回顾一下 ...

  10. 从排序后的结果集中删除 前n条记录

    端午有人休息,有人忙 操作前数据: --从排序后的结果集中删除 前n条记录delete from emp where empno in (select empno                   ...