使用IIS Express
1.IIS Express 概述
IIS Express是一个微软推出的一款免费,且小型、轻量特别适合ASP.NET开发人员使用的Web开发服务器。在没有IIS Express之前,开发人员只能使用下面两种方案:
- Visual Studio自带的ASP.NET开发服务器
- Windows的IIS Web服务器
既然已经有了这两个选择,为什么还要推出IIS Express呢?这是由于这两个方案的不足决定的,如下:
- Visual Studio自带的Web服务器并没有提供完整的Web服务器功能(例如:不支持SSL、URL重写规则等)
- Visual Studio自带的Web服务器并不支持外部访问
- 使用IIS首先需要管理员账号来安装和调试
- 不同版本的Windows对支持IIS的版本也不相同(Windows XP就不能使用IIS7.x的新功能)
但是IIS Express集成了这两种方案的优点,又避免的他们的缺点
- 首先,IIS Express除了没有IIS的可视化管理界面,几乎用于其全部的功能
- 其次,IIS Express经过简单的配置后也可以在Visual Studio 2010中使用(VS2012已经内置了IIS Express 8)
- 再者,IIS Express相对于IIS支持更多版本的Windows系统(在Windows XP下可以使用IIS Express 7.5)
2.使用IIS Express部署一个Web应用程序
使用IIS Express部署一个站点非常简单,只需要修改Express的applicationhost.config配置文件即可,该文件用于承载站点的定义、应用程序、应用程序池和整个WEB服务器的配置。文件的默认位置在:C:\Users\UserName(用户名)\Documents\IISExpress\config目录下,打开该配置文件我们可以看到IIS Express支持下面五种应用程序池:分别是.NET 2.0和.NET 4.0的集成版和经典版,以及一个非托管的版本:
<applicationPools>
<add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
<add name="Clr4ClassicAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
<add name="Clr2IntegratedAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
<add name="Clr2ClassicAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
<add name="UnmanagedClassicAppPool" managedRuntimeVersion="" managedPipelineMode="Classic" autoStart="true" /><applicationPoolDefaults managedRuntimeLoader="v4.0">
<processModel />
</applicationPoolDefaults>
</applicationPools>
现在我们来看最重要的sites节点,每个site节点表示一个站点,其中:bindingInformation节点由三个部分组成:绑定的IP:端口:主机名称。
<sites>
<site name="IIS Express" id="1" serverAutoStart="true">
<application path="/">
<virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
</application>
<bindings>
<binding protocol="http" bindingInformation=":8080:localhost" />
</bindings>
</site>
<sites>
现在我们可以开始部署Web应用程序了,将发布好的Web应用程序放到指定目录(在我这里我将其放到D盘的WebAPP目录下面),然后修改上面的配置文件,比如选择绑定的端口,选择Web应用程序对于的.NET应用程序池即可:
<site name="WebSite" id="2" serverAutoStart="true">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="D:\WebApp" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:8081:*" />
</bindings>
</site>
启动IIS Express,在浏览器中输入:http://localhost:8081/访问Web应用程序:
3.配置IIS Express 使其能够进行外部访问
首先是需要将Web应用程序使用的端口号在Windows防火墙中设置允许通过,其次是修改site节点下的binding节点的bindingInformation属性:
<bindings>
<binding protocol="http" bindingInformation="*:8081:*" />
</bindings>
最后,需要以管理员身份启动IIS Express即可,使用Ip地址进行访问:
参考资料&进一步阅读
http://msdn.microsoft.com/zh-cn/ff844168
http://www.cnblogs.com/nicch/archive/2011/03/20/1989192.html
使用IIS Express的更多相关文章
- VisualStudio 2015 开启IIS Express可以调试X64项目
现在项目开发时总有时需要在X64下开发,这样我们就需要IIS Express中调试.不要总是放在IIS中,在Attach这样好慢. 如果不设置直接调试X64的程序,我们有可能会受到以下类似的错误 ...
- VS2015调试时没有启动IIS Express Web服务器 或者停止调试时 IIS Express 跟着关闭
解决方法: 打开 解决方案资源管理器 -> 点选 Web 项目选择 -> 属性 -> Web "服务器" 去掉勾选"将服务器设置应道所有用户" ...
- VS2013无法启动 IIS Express Web解决办法
开发环境:windows8.1+VS2013 使用VS2013有一段时间了,因前期都是编写C/S程序,没有使用到B/S调试器.前几日,创建了一个MVC项目,突然发现VS2013无法调试,报了这样的错. ...
- Windows8.1系统下让VS2012编译运行IIS Express 64位 调试器
有时候在window8以上系统中对C#系统进行调试 提示不能使用32位IIS Express,如果每次都采用IIS 在vs代码进行调试的时候很麻烦 下面我们就介绍一下怎么用编译调试64位代码: 网上方 ...
- vs2012使用64位IIS EXPRESS调试
使用Visual Studio 2012开发网站或web应用程序时,可以使用两种web server.自带的development server和IIS EXPRESS.development ser ...
- IIS/IIS Express/Asp.net配置片段记录
事情的起因是,我们在项目中使用了URLRewriter.dll作为实现伪静态的工具,在VS2010及之前的开发环境中,该功能运行正常,但在VS Express 2012 for Web中就不起作用了, ...
- VS2017 RC IIS Express 无法启动 环境不正确
Unable to start program 'C:\Program Files (x86)\IIS Express\iisexpress.exe'. The environment is inco ...
- IIS Express 配置外部访问
IIS Express是Visual Stuido自带的微型Web服务器,简单易用. IIS Express默认只允许本机访问,通过Visual Studio调试Web程序时,我们有时需要通过外部访问 ...
- 在IIS Express中调试时无法读取配置文件 错误
在IIS Express中调试代码时,如果出现"无法读取配置文件"的问题(如图),这种情况是IIS Express的"applicationhost.config&quo ...
- vs2015 无法启动IIS Express Web服务器
今天在VS2015上装了 之后无法启动IIS Express Web服务器. 然后我去查看了windows日志发现vs创建的虚拟目录不见了(至于是不是以上原因导致的没去查明) 然后在vs2015中点击 ...
随机推荐
- UVa 11859 (Nim) Division Game
把每一行m个数所有的素因子看做一堆,就把问题转化为n堆的Nim游戏. 然后预处理一下10000以内每个数素因数的个数,再根据书上的Bouton定理,计算一下n行素因数个数的异或和. 为0是先手必败局面 ...
- UVa 11178 (简单练习) Morley's Theorem
题意: Morley定理:任意三角形中,每个角的三等分线,相交出来的三个点构成一个正三角形. 不过这和题目关系不大,题目所求是正三角形的三个点的坐标,保留6位小数. 分析: 由于对称性,求出D点,EF ...
- OK335xS psplash 进度条工作原理 hacking
#!/bin/sh # # rc This file is responsible for starting/stopping # services when the runlevel changes ...
- Java [Leetcode 232]Implement Queue using Stacks
题目描述: Implement the following operations of a queue using stacks. push(x) -- Push element x to the b ...
- 转载RabbitMQ入门(5)--主题
主题(topic) (使用Java客户端) 在先前的指南中我们改进了我们的日志系统.取代使用fanout类型的交易所,那个仅仅有能力实现哑的广播,我们使用一个direct类型的交易所,获得一个可以有选 ...
- Oracle 课程八之性能优化之10053事件
一. 10053事件 当一个SQL出现性能问题的时候,可以使用SQL_TRACE 或者 10046事件来跟踪SQL. 通过生成的trace来了解SQL的执行过程. 我们在查看一条SQL的执行计划的时候 ...
- shell小技巧
# awk '{a[$1]++;a[$2]++}END{for (i in a)print i "\t" a[i]}' list | grep -w 2 | awk '{print ...
- hdu 3068(最长回文)
题意:容易理解... 思路:可以用扩展kmp来做,但是我还没怎么弄懂,时间复杂度O(n*logn),而manacher算法,第一次听说,代码比较短,不难理解,和扩展kmp有点类似,时间复杂度为:O(n ...
- replace() MySQL批量替换指定字段字符串
mysql replace实例说明: UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def'); REPLACE(str,from_str,to_str) 在字符串 st ...
- acdream 1056 (黑白染色)
题意:给你一些关系,每个关系是两只马的名字,表示这两个马不能在一个分组里,问你能否将这些马分成两组. 黑白染色,相邻的点染不同颜色.bfs搞即可,水题. /* * this code is made ...