如何在IIS上部署MVC网站

news/2024/5/10 3:59:38/文章来源:https://blog.csdn.net/weixin_30378623/article/details/97598669

这段时间用vs2010、.net framework4.0开发了一个小网站,用的是asp.net mvc2.0的框架实现的,一直也没有发布到IIS上测试过,每次都是在.net自带的虚拟web server上运行通过的,马上领导要看demo了,还是部署一下mvc的网站吧,以前从来也没有开发过mvc的项目,没想到部署mvc网站会遇到那么多的问题,不过今天忙了一天也总算把问题都解决了,现在抽空记录一下今天遇到的问题以及解决方案,免得以后还犯同样的错误,

1、一开始发布是点击项目右键菜单中的“publish”,发现竟然有好几种发布方式,我就选了“Web Deploy”,试了好久都没有发布成功,算了,深入了解它的用法再用吧。于是,网上查找publish-->Web Deploy的资料,发现竟然都是英文,而且都是一些无用的篇幅,哎,好浪费时间,一两个Hour就这么没了,还是有空再研究吧。只能考虑常用的发布方式“File System”了,就是把网站需要的东西编译到指定文件夹。

2、编译发布成功后,开始在IIS里建虚拟目录,设置asp.net版本为4.0,以及选到对应的应用程序池等,然后在浏览器中输入地址,出现"The page cannot be found"。也是mvc网站的路径本来就跟以往.net的网站不一样,这样随便设置一下就行了才有问题呢,于是又是一顿搜索。先是在google上找,一篇篇相关问题的英文帖子,看着就头大,问题倒是有很多人遇到,却没有人能给出个满意的答案,而后转到微软官方网站上找,有人建议安装Web Deploy Tool,我想不就是个简单的发布吗?用不着再安装软件了吧,目前我的机器已经安装了够多的微软软件了,所以不到万不得已不想安装这东西,继续埋头搜索资料,可能还是搜索的关键字有问题吧,搜来搜去总是同样的问题同样的结果,弄得我都有点疲了。

3、于是,静下来想了想,还是看看mvc2.0的相关书籍吧,翻开前段时间下载的ASP.NET MVC 2 in Action.pdf,呵呵,竟然能找到答案,在第六章“Hosting
ASP.NET MVC applications”中有详细说明,针对每种的Web Server版本也都有说到如何去配置,于是直接找到IIS6.0下的配置,有四种:
■ Configure routes to use the .aspx extension
■ Configure routes to use a custom extension (such as .mvc)
■ Use a wildcard mapping with selective disabling
■ Use URL rewriting

大概都看了一下,选用第三种,设置如下:
在虚拟目录-->右键属性-->虚拟目录标签下-->点击“配置”按钮,在出现的对话中,对通配符进行插入操作,可执行文件选c:/windows/microsoft.net/framework/v4.0.30319/aspnet_isapi.dll,去掉“确认文件存在”,点击确定。同时确保Web服务扩展中asp.net v4.0.30319服务是被允许的,再重启IIS。

这时候去浏览器刷新,上次的问题没了,可页面一片空白,什么也没有。于是继续看pdf,原来后面有讲到Content\Scripts\Images\Bin等文件夹要特殊处理,因为mvc框架只对views文件夹下的文件进行特殊路由,其他文件夹的访问路径不变,需要把其他文件夹在IIS中进行如下设置:
 




再刷新网页,看出body的颜色有变化了,看来应该css文件是读到了,在页面上写alert脚本测试也ok,但在用到jquery脚本的地方就有问题了,于是把所有的引用路径修改成绝对路径,jquery的脚本也OK了,可页面还是没有出来,还把System.Web.Abstractions、System.Web.Routing、System.Web.Mvc的DLL都拷贝到bin下也还是不行。

初步以为是发布的问题,于是又回头找发布相关资料,还是很无助,实在没办法了就找了WebDeploy_2_10_x86_en-US.msi和WebDeploymentSetup.msi都安装了一遍,也都按着它们说的步骤去发布,还是一样。

哎,可能还是脑子想问题想久了累了,不愿再想了,才去找发布工具,其实问题根本不在发布工具上,即使真的安装了发布工具,问题肯定还是有的啊,脑子当时怎么就转不过弯呢,

最后还是请教了高手,高手就是高手,处理问题的方式都不一样,他提醒我看一下firebug返回的信息,果然,一看问题就被找出来了,是服务器端出了问题,在Ajax资源请求的过程中,返回“500 Internal Server Error”错误,仔细看原来是访问数据库的时候出错。vs2010项目在发布的时候竟然把web.config中Entity的数据库连接字符串修改了,枉费我花了那么时间去找一些发布上的问题,以前从来没遇到过这种系统发布时会擅自修改连接字符串的情况,这次算是记住了。

虽说是花了好多时间,就当买个教训吧,但是总的来说收获还是比较大的:
1、找到了发布mvc时需要进行的一些设置,也算学会了如何发布mvc项目吧;
2、学会了别人处理问题的方式;
3、对vs2010、ado.net entity有了新的认识。






转载于:https://www.cnblogs.com/yumianhu/archive/2011/09/21/3713008.html

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

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

相关文章

你可以将类似于Google Earth的地球仪嵌入到自己的网站中

Poly9公司的开发了一个叫FreeEarth的地球仪。它的功能类似于Google Earth和微软的Virtual Earth,但它是基于Flash的,所以可以让您只要稍微加几句代码就能把它嵌入到网站中。当然肯定也没有前两款软件这么精确了。不过还是很受网友们的欢迎,现…

提供网站统计服务的资源

来源: 10 Free, Innovative Web Analytics Tools Clicky 是一个简洁的全功能统计分析工具,它专门面向小网站及Blog,便于安装,提供了如实时跟踪访问者等高级功能。 Enquisite 是一个专注于搜索引入分析及PPC流量的统计系统。 CrazyEgg 提供热点…

优秀网页设计:别出心裁的创意网站导航菜单

导航菜单是网站重要的组成部分,关系着网站的可用性和用户体验。一个有吸引力的导航能够吸引用户去浏览更多的网站内容,增加用户在网站的停留时间。为了让导航能够和网页内容完美的融合在一起,设计前需要设仔细分析网页结构。下面收集了30佳别…

zdnet网站上关注MS技术的记者Foley

Mary Jo Foley has covered the tech industry for 25 years and has been keeping a close eye on Microsoft strategy, products, and technologies for most of that time.Mary Jo Foley已经从事教育业25年,并且已经长期关注Micorsoft策略,产品和技术…

最近新上的电子商务网站

最近新上的电子商务网站,是一个B2C的,做这个站花费20天的时间,感觉很辛苦,但然我好好的了解烘培行业,烘培行业电子商务的企业21 Cake,好利来。 这样的网站在跟踪需求后,需要实现几个关键点,1用户…

[置顶] 视频网站:一炷香后即将为您播放精彩内容

当所有视频网站都在加长广告时间来获得更多收益的时候,45秒的广告已经见怪不怪了。。。 也许视频网站盈利也别无他法。于是,广告从最早的5秒,变成了10秒,然后是30秒,45秒,,,更过分的…

Orcale网站注册用户密码问题

注册了两天发现注册不成功,密码提示总是不合法,才发现 原来 "_" 在Oracle不认为是特殊字符 换成&就可以了。

学习web前端的免费12个学习网站,等你来撩

我相信很多人刚喜欢web前端或者刚刚接触web前端的时候,都不愿意去花钱去培训或者买资料去学习,因为不知道自己会不会学好,或者只是一时脑热,所以就选择免费的去学习基础. 编程学习 很多人包括一些企业家,和市场营销人员都认为学习编程对一个人走向成功十分有帮助。…

5分钟上手Egg.js+nunjucks模板引擎快速开发SEO友好的官网项目

在日常的项目中,有时候还是不可避免的会维护一些jq官网项目等。面对此类需求,很多还是以前的老套路,前端写页面交给后端去套数据。很烦有木有~~而改动之后还得交给后端再次修改,时间和沟通都是个麻烦。同时…

Java使用WebMagic 爬取网站

安装 这里使用maven进行安装。 根据maven下载相关的包 <dependency><groupId>us.codecraft</groupId><artifactId>webmagic-core</artifactId><version>0.7.3</version></dependency><dependency><groupId>us.c…

web网站加速之CDN(Content Delivery Network)技术原理

在不同地域的用户访问网站的响应速度存在差异,为了提高用户访问的响应速度、优化现有Internet中信息的流动,需要在用户和服务器间加入中间层CDN. 使用户能以最快的速度&#xff0c;从最接近用户的地方获得所需的信息&#xff0c;彻底解决网络拥塞&#xff0c;提高响应速度&…

pdf在线处理网站

sklearn实战-乳腺癌细胞数据挖掘&#xff08;博主亲自录制视频&#xff09; https://study.163.com/course/introduction.htm?courseId1005269003&utm_campaigncommission&utm_sourcecp-400000000398149&utm_mediumshare 转载于:https://www.cnblogs.com/webRobot…

手机wap网站建设的方法和技巧

随着互联网技术的不断进步&#xff0c;越来越多的运营商对于手机wap网站的建设有了更多的投入&#xff0c;手机wap网站的建设和开发要根据网站的特点和经营范围来进行设计和建设&#xff0c;这样才可以提升手机wap网站建设的效果。现在智能手机也基本都普及了&#xff0c;好多的…

Google官方建议:如何让网站在Goog…

自从去年9月谷歌浏览器发布以来&#xff0c;很多网站管理员和开发者纷纷向我们询问如何使自己的网站与谷歌浏览器更兼容。谷歌浏览器团队把这些问题作为很重要的借鉴和参考&#xff0c;这里我想向您提供一些小建议&#xff0c;让您的网站在谷歌浏览器里看起来更出色。 识别谷歌…

[慕课笔记] node+mongodb建站攻略

如何利用nodemongodb来快速搭建一个电影网站&#xff1f; 一&#xff1a;后端部分 整个网站的后端是由node.js来驱动的&#xff0c;所以在后端需要安装node.js,以及在这个基础之上的框架express&#xff0c;它能够帮助我快速的搭建web应用&#xff0c;然后数据库选用的mongodb&…

一步步教你为网站开发Android客户端

http://www.apkbus.com/forum.php?modviewthread&tid17712&extrapage%3D1 文章覆盖知识点&#xff1a;HttpWatch抓包&#xff0c;HttpClient模拟POST请求&#xff0c;Jsoup解析HTML代码&#xff0c;动态更新ListView背景介绍&#xff1a;客户端&#xff08;Client&…

如何让多个不同类型的后端网站用一个nginx进行反向代理实际场景分析

前段时间公司根据要求需要将聚石塔上服务器从杭州整体迁移到张家口&#xff0c;刚好趁这次机会将这些乱七八糟的服务器做一次梳理和整合&#xff0c;断断续续一个月迁移完 成大概优化掉了1/3的机器&#xff0c;完成之后遇到了一些问题&#xff0c;比如曾今零零散散部署在生产上…

色情网站的光棍节“福利”:加密式挂马玩转流氓推广

结语&#xff1a;攻击者对相关加密算法比较了解&#xff0c;选用了较为少见的Rabbit对称加密算法&#xff1b;攻击者具备一定的前端开发经验&#xff0c;代码容错性强&#xff0c;兼容性高了&#xff1b;后台不再是静态文件&#xff0c;而采用了动态生成内容&#xff0c;生成的…

docker搭建网站详细

远程连接centos7 这里我用的是xshell连接centos7 下载docker 这里我用的是阿里的Docker CE 镜像源站 这里我用的是centos7搭建的,如果是ubuntu的可以进上面那个网站上看 step 1: 安装必要的一些系统工具 sudo yum install -y yum-utils device-mapper-persistent-data lv…

GoDaddy网站程序根目录 网站文件上传到虚拟主机哪个目录

用的linux虚拟主机&#xff0c;网站根目录为public_html&#xff0c;(window主机的目录为httpdocs)我们需要把本地做好的网站上传到此目录下 cPanel控制面板 - 文件管理器 - public_html 转载于:https://www.cnblogs.com/bubuchu/p/10216970.html