设为首页 收藏本站
查看: 974|回复: 0

[经验分享] 部署ASP.net MVC程序到IIS

[复制链接]
发表于 2015-8-16 07:11:37 | 显示全部楼层 |阅读模式
  在网上找到一个table,列举了不同的操作系统对应的IIS版本以及配置MVC时的说明。
IIS version
Windows version
Remarks
IIS 7.0 (integrated mode)
Windows Server 2008
Windows Vista (except Home Basic)
No special configuration required
IIS 7.0 (classic mode)
Windows Server 2008
Windows Vista (except Home Basic)
Special configuration required to use URL routing
IIS 6.0
Windows Server 2003
Special configuration required to use URL routing
IIS 5.1
Windows XP Professional
Special configuration required to use URL routing
IIS 5.0
Windows 2000
Special configuration required to use URL routing
  从表中可以总结出:
  1.IIS7.0之前的版本,需要特殊配置,因为现有IIS,后来才开发的MVC模块
  2.IIS7.0的classic mode,适合之前的版本兼容的,需要特殊配置
  3.补充: Windows 7 和window server 2008 R2是IIS7.5,IIS的版本越新,配置越简单(这个是必然的)
  
  我觉得以后遇上IIS6.0的机会很少了,所以也不必理会,只要知道IIS7的Integrated mode如何配置就可以了。
  1.安装好IIS后,添加一个新的网站:
DSC0000.png
  注意新建的website的binding不要与原有website冲突,Default Web Site使用的80端口。
  新建的website都会自动创建App pool,它的作用是隔离其它的App pool,各个web site不会互相影响,一个crash了,其它还能继续。
  
  2.在Application Pools下编辑刚刚创建的App pool:
DSC0001.png
  这里选择.NET的版本和pipeline mode,就是前面说的Integrated mode和classic mode
  
  3.在VS2010中publish
  在web project上右键,publish
DSC0002.png
  在弹出的Publish Web对话框里输入URL和website名,点击Publish
DSC0003.png
  刷新IIS,可以看到已经部署成功
  
  4.打开浏览器访问,遇到的问题及解决方案:
  出现403.14Forbidden错误
  需要运行命令:%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir
  原因是先安装的.net framework,后安装的iis,需要将asp.net的模块注册到IIS
DSC0004.png
  An attempt to attach an auto-named database for file .mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.
  使用mdf文件然后直接attach到sql server express这种方式的,可能会遇到这个错误,这个需要将User Instance=True这个属性加到connection string中
  可以直接编辑web.config文件,也可以在IIS的web site的Features View页面的Connection Strings配置项修改
DSC0005.png
DSC0006.png
  Failed to generate a user instance of SQL Server due to failure in retrieving the user's local application data path. Please make sure the user has a local user profile on the computer. The connection will be closed.
  需要修改app pool的Identity,换成NewworkService,在App pool的Advanced Settings页面修改
DSC0007.png
DSC0008.png
  Windows7的bug
  这个是折腾我最久的一个issue,我实在win7开发的,部署后通过浏览器始终无法打开网页,也看不到任何错误。后来在windows server2008 R2上试了下,一点问题木有,后来在《Pro ASP.NET MVC 2 Framework, Second Edition》这本书找到了答案:
  If you’re trying to deploy to IIS 7.5 on Windows 7 for development purposes, you may also need to click Start, type turn windows features on or off, press Enter, and then enable Internet Information Services
DSC0009.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-99497-1-1.html 上篇帖子: Failed to access IIS metabase. 下篇帖子: xp中iis不能新建网站的解决办法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表