分享

IIS Express 使用详细说明

 goodwangLib 2018-02-08
最近在使用XP的IIS发布Asp.Net MVC3的项目,但是发现一个很头疼的一个问题,在IIS指定虚拟目录来发布网站发布不了,以前发布Webfrom项目则不会有这样的问题,应该是跟路由路径有关系,导致每次都是从网站根节点算起,而不是从指定的虚拟目录算。如果是发布在默认网站下,也就是直接右击默认网站,将主目录指定到网站路径,再在配置下添加aspnet_isapi.dll映射,这样是可以发布成功的。但是这样的话,一次就只能发布一个站点了。以后项目应该都会使用MVC写的,每次都更改主目录太不方便了。后来朋友那提到了IISExpress,就开始了使用和学习,发现这真是个好东西,有点类似tomcat的感觉,值得Net程序员兴奋啊,未来必将使用广泛,下面我总结一些关于IISExpress的使用。
已经有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 name='WebSite1' id='1' serverAutoStart='true' > application path='/'> virtualDirectory path='/' physicalPath='%IIS_SITES_HOME%\WebSite1' /> application> application path='/test' applicationPool='Clr2IntegratedAppPool'> virtualDirectory path='/' physicalPath='%IIS_SITES_HOME%\WebSite1' /> virtualDirectory path='/testvir' physicalPath='%IIS_SITES_HOME%\WebSite1' /> application> bindings> binding protocol='http' bindingInformation=':8080:localhost' /> binding protocol='http' bindingInformation=':8899:localhost' /> binding protocol='http' bindingInformation=':8080:127.0.0.1' /> binding protocol='http' bindingInformation=':8080:192.168.230.128' /> bindings> site> 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> logFile logFormat='W3C' directory='%IIS_USER_HOME%\Logs' /> traceFailedRequestsLogging directory='%IIS_USER_HOME%\TraceLogFiles' enabled='true' maxLogFileSizeKB='1024' /> siteDefaults> applicationDefaults applicationPool='Clr4IntegratedAppPool' /> virtualDirectoryDefaults allowSubDirConfig='true' /> sites>
复制代码

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

常用的有两种命令方式启动iisexpress:
1)iisexpress.exe  /site:<站点名>   /config:<配置文件路径>   /systray:
如: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: /systray:
这种方式常用来临时指定一个网站,而不需要在配置文件中配置
C:\Program Files\IIS Express>iisexpress.exe /path:'C:\Program Files\IIS Express\
WebSite1' /port:8899 /clr:v4.0 /systray:true
Vs2010的SP1 可以支持IISExpress 
PS:现在对于IISExpress学习还不透彻,先这样,后续再补充

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多