IIS Express 使用详细说明

最近在使用XP的IIS发布Asp.Net MVC3的项目,但是发现一个很头疼的一个问题,在IIS指定虚拟目录来发布网站发布不了,以前发布Webfrom项目则不会有这样的问题,应该是跟路由路径有关系,导致每次都是从网站根节点算起,而不是从指定的虚拟目录算。如果是发布在默认网站下,也就是直接右击默认网站,将主目录指定到网站路径,再在配置下添加aspnet_isapi.dll映射,这样是可以发布成功的。但是这样的话,一次就只能发布一个站点了。以后项目应该都会使用MVC写的,每次都更改主目录太不方便了。后来朋友那提到了IISExpress,就开始了使用和学习,发现这真是个好东西,有点类似tomcat的感觉,值得Net程序员兴奋啊,未来必将使用广泛,下面我总结一些关于IISExpress的使用。
IIS 7.5 Express官方下载地址: http://www.microsoft.com/zh-cn/download/details.aspx?id=1038
已经有IIS 8 Express发布了,但是不支持XP,所以现在仍然选择使用IIS 7.5 Express,很多网页上都是说IIS Express 7.5,我其实也喜欢这样叫,感觉比较顺口,但是其实是不对的,因为这个并不是Express的版本号,而是IIS的版本号。官网上是这样描述IIS 7.5 Express的,兼具IIS 7.5的强大功能与轻型Web(例如ASP.NET开发服务器,也称为"Cassini")的便利,可以增强在Windows上开发和测试Web应用程序的能力。(当然这个叫法也不用太在意,但这里提出来,因为个人一开始是误解的,知道就行了)
安装完上面的下载文件后,你可以在C:\Program Files\IIS Express看到安装文件,主要注意iisexpress.exe,这是IISExpress的启动文件。点击后会启动一个cmd和托盘程序。右击托盘程序可以看到如下图,这个是默认的站点地址,点击就可以打开这个站点网页。遗憾的事,这个网页没有像tomcat一样给我们提供管理站点的功能,而是提供一些链接指向 WebMatrix网站,这个是一个可以创建网站和用IISExpress发布站点的工具,但是感觉对于专业开发来说不实用,所以个人并没有使用,而是手工改配置文件。
但是这个站点是在哪里配置的呢,我们可以在“我的文档”下看到一个“IISExpress”的文件夹,打开下面的Config\applicationhost.config文件,找到sites节点,就是网站的配置。(默认是放在我的文档下的,这解决了没有管理员权限修改的问题)
Site详细配置
<sites><!-- site 站点 如果启动了右击托盘IISExpress就能看到,可以在sites下面添加多个site节点   serverAutoStart=true 是指定站点是否随服务器启动,但是这个属性我并没有看到作用,不管是否设置都是启动第一个站点 --><site name="WebSite1" id="1"  serverAutoStart="true" ><!-- application应用程序 和在iis中添加的应用程序一样的--><application path="/"><!-- virtualDirectory虚拟目录  %IIS_SITES_HOME%是C:\Program Files\IIS Express\  --><virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" /></application><!-- 可以添加多个path不重复的application  下面applicationDefaults会默认应用程序池,但是也可以指定应用程序池--><!-- 这里有个问题如果applicationPool是Clr2IntegratedAppPool 但sites的applicationDefaults是Clr4IntegratedAppPool,则这个虚拟目录就不能被启动访问目前我只能通过将applicationDefaults设置为Clr2IntegratedAppPool才可以启动,并不清楚怎么给不同网站 指定不一样的程序池并启动--><application path="/test"  applicationPool="Clr2IntegratedAppPool"><!-- 可以添加多个虚拟目录 和iis中添加虚拟目录一样--><virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" /><virtualDirectory path="/testvir" physicalPath="%IIS_SITES_HOME%\WebSite1" /></application><bindings><!-- binding站点绑定信息  protocol有http和https两种   bindingInformation指定绑定具体信息 :8080:localhost=>:端口:主机名" --><binding protocol="http" bindingInformation=":8080:localhost" /><!-- 同一个网站绑定多个端口 --><binding protocol="http" bindingInformation=":8899:localhost" /><!-- 通常在IIS发布的网站 用localhost 也一定可以用127.0.01访问 但是这里不行,必须手工绑定 --><binding protocol="http" bindingInformation=":8080:127.0.0.1" /><!-- 局域网对应的IP地址也是需要自己绑定的  局域网其他用户才能通过ip访问--><binding protocol="http" bindingInformation=":8080:192.168.230.128" /></bindings></site><!-- 可以添加多个site节点  但是必须是name和id 都不重复的--><site name="WebSite2" id="2" serverAutoStart="true" ><application path="/test"><virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" /></application><bindings><binding protocol="http" bindingInformation=":8080:localhost" /></bindings></site><siteDefaults><!--   %IIS_USER_HOME%是"我的文档"的路径   Logs下是访问站点的记录   --><logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" /><traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" /></siteDefaults><!--applicationDefaults 指定站点的默认应用程序池  在sites上面有applicationPools节点,可以在那看到有五个应用程序池,分别是.Net2.0/4.0的集成/经典模式、以及一个非托管程序池--><applicationDefaults applicationPool="Clr4IntegratedAppPool" /><virtualDirectoryDefaults allowSubDirConfig="true" /></sites>

可以通过Cmd来启动iisexpress,如果有错误会有提示。输入iisexpress.exe -help ,可以看到一些命令帮助

常用的有两种命令方式启动iisexpress:
1)iisexpress.exe  /site:<站点名>   /config:<配置文件路径>   /systray:<boolean是否启动系统托盘应用,默认true>
如:C:\Program Files\IIS Express>iisexpress.exe /site:website2 /config:"C:\Documents
and Settings\Administrator\My Documents\IISExpress\config\applicationhost.confi
g" /systray:true
这些参数都是可选的,一般是在配置文件中配置过的站点
2)iisexpress.exe /path:<应用程序路径> /port:<端口号,默认8080> /clr:<CLR版本:v2.0|v4.0> /systray:<boolean是否启动系统托盘应用,默认true>
这种方式常用来临时指定一个网站,而不需要在配置文件中配置
C:\Program Files\IIS Express>iisexpress.exe /path:"C:\Program Files\IIS Express\
WebSite1" /port:8899 /clr:v4.0 /systray:true
Vs2010的SP1 可以支持IISExpress 
具体使用请参考:http://www.cnblogs.com/haogj/archive/2011/01/08/1930525.html 
PS:现在对于IISExpress学习还不透彻,先这样,后续再补充

转载于:https://www.cnblogs.com/zswto999/archive/2012/12/31/2841191.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/548161.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

qt项目转vs项目

先执行一下命令&#xff1a; call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat" SET "PATHD:\soft_install\qtcreator\5.12.10\msvc2017_64\bin;%PATH%" pause 执行完以上命令之后&#xff0c;再…

离奇的xenapp客户端无法加载应用故障解决过程 ...

新建的xenapp 6.5 for 2008 简体中文版&#xff0c;弄好之后从客户端去访问&#xff0c;结果报错&#xff08;当时忘了截图下来&#xff09;&#xff0c;大致意思就是说服务器无法处理我的请求。确认安装过程正确&#xff0c;程序发布正常。排查过程发现通过RDP的远程桌面可以加…

时间管理,从洗碗开始

笔者的前一篇博文《你是怎么利用时间的&#xff1f;》&#xff0c;自发表后得到了一些读者的关注和好评。更有甚者&#xff0c;博友shyy8712872还进一步发表了博文《老生常谈的时间你真的管理好了吗&#xff1f;》&#xff0c;并在其中引用了我的原话。这都令笔者深感欣慰、荣幸…

ADDS学习(下)

任务三&#xff1a;完成活动目录备份和恢复 1) 验证第一部分用户和OU是否存在 2) 备份活动目录 3) 删除一个OU 4) 恢复 5) 验证恢复是否成功 如下图&#xff0c;qingfeng.com域中有OU和用户&#xff0c; 要备份活动目录&#xff0c;使用微软的windows server backup工具&#x…

linux下boost库链接动态库失败

echo "boost库lib安装路径" >>/etc/ld.so.conf 加入动态库的地方 执行动态库命令 sudo ldconfig

一些Web Service的经验

使用Web服务也有半年多了&#xff0c;虽然时间不长&#xff0c;但还是遇到了不少难题&#xff0c;在这里把我的一些经验拿出来给大家共同分享。 刚开始做Web服务的时候还觉得很轻松&#xff0c;感觉就跟写一般的组件没什么区别&#xff0c;而使用时跟引用普通的程序集一样的简单…

递归1

此次做项目使用JDBC&#xff0c;遇到了一个树形结构&#xff0c;采用递归查找父类&#xff0c;有了一个初步的认识。 public Channel findParent(int id){ if (id0) { return null; }else { int parent 1; Channel cnew Chan…

ssh 脚本 空格字符转换

yum install -y doc2unix && doc2unix *.sh

⑨④-如果不发展就可能面临生存窘境

⑨④-如果不发展就可能面临生存窘境 老男孩语录⑨④-如果不发展就可能面临生存窘境 现实很残酷&#xff0c;如果你不去思考如何发展自己&#xff0c;就可能面临生存的窘境&#xff01; 上面这句话不光适合某一个个体人类&#xff0c;小到一个家庭&#xff0c;一个公司&#xff…

探究make_shared效率

Why Make_shared ? C11 中引入了智能指针, 同时还有一个模板函数 std::make_shared 可以返回一个指定类型的 std::shared_ptr, 那与 std::shared_ptr 的构造函数相比它能给我们带来什么好处呢 ? 优点 效率更高 shared_ptr 需要维护引用计数的信息, 强引用, 用来记录当前…

vs2012里用easyUI,显示不正常

vs2012里用easyUI&#xff0c;显示不正常&#xff0c;什么时候可以解决转载于:https://www.cnblogs.com/zhangxj/archive/2013/01/05/2846235.html

asp.net实现ftp上传代码(解决大文件上传问题)

原来使用asp.net上传控件上传 那个虽然简单但是页面不是很友好 然后就用了uploadify上传控件 这个控件虽然界面友好 但是大文件还是不能上传 而且在不同的浏览器会出现session丢失问题 所以我到了个ftp上传的方法 以下是具体代码 View Code?11 using System; 2 using System…

关于豆瓣电台收费的思考

大家讨论的热火朝天啊大家的问题&#xff1a;电台的盈利模型是不是只有广告我觉得电台的盈利只靠广告是不行的&#xff0c;所谓电台就是主要是多播和广播&#xff0c;是相对传统电台来的。传统电台涉及硬件成本低。广告可以&#xff0c;互联网电台依靠广告盈利&#xff0c;除非…

做自己的伯乐

读很多古代大家的故事&#xff0c;就发现贾谊、苏轼、李白等人生不逢时&#xff0c;怀才不遇&#xff0c;不被帝王将相所识并所用&#xff0c;实现自己的政治抱负。笔者细观周围好多朋友和同事&#xff0c;在一起聚会时&#xff0c;常常也发出类似的慨叹&#xff0c;刨去当前企…

MVC Layout布局系统

原文&#xff1a;http://www.cnblogs.com/highend/archive/2011/04/18/asp_net_mvc3_layout.html Layout页:该家伙其实就相当于原来的Master文件. Partial页:相当于原来的UserControl View页: View Page with Layout:等同于原来的View Content Page.它的功能只是为了实现原来在…

tolua++

一.tolua简介tolua是一种第三方的软件包,可以为Lua提供面向对象的特性,这样我们就可以使用Lua来编写使用C语言库的脚本文件.二.tolua的编译. tolua的主页在http://www.codenix.com/~tolua/,目前的最新版本是1.0.7,为了使用tolua,我们需要三个文件: 1.bin/tolua[.exe…

IE6PNG8PNG24test

2019独角兽企业重金招聘Python工程师标准>>> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xhtml"&…

Java线程(七):锁对象Lock-同步问题更完美的处理方式 .

Lock是java.util.concurrent.locks包下的接口&#xff0c;Lock 实现提供了比使用synchronized 方法和语句可获得的更广泛的锁定操作&#xff0c;它能以更优雅的方式处理线程同步问题&#xff0c;我们拿Java线程(二)中的一个例子简单的实现一下和sychronized一样的效果&#xff…

ipconfig命令指南

ipconfig /all 显示本机TCP/IP配置的详细信息 ipconfig /relase DHCP客户端手动释放IP地址 ipconfig /renew DHCP客户端向服务器刷新请求&#xff08;具有更新的作用&#xff09; ipconfig /flushdns 清除本地的DNS缓存内容 ipconfig /regesterdns dns客户端手工向服务器注册 i…

linux --常用命令

一、文件操作 1.创建文件夹 mkdir /var/www/test 2.复制文件 cp file1 file2 复制文件file1.php 的内容到文件file2中。 3.cp -b file1.php file2.php 备份file1.php并重命名为file2.php 4.复制文件夹和子文件夹: cp -R scripts scripts1 从 scripts 复制文件夹和子文件…