mvc在iis上的部署一些问题

今天,完成了一个在线考试网站的修改,测试、修改,开发的一切全部搞定。可是在部署时候,却引发了一堆的问题,项目做了不少,从asp.net 到mvc3.0的都有经历,可从来没出现过这种问题,于是乎,总结下吧。

1.server2003下的iis6.0系统,服务器访问的系统;

这个按照度娘上的提示,一一部署,推荐查看http://www.cnblogs.com/xiongpq/archive/2011/05/25/2057445.html

可惜到最后,却还是不能运行;

发扬一不怕苦的精神,逐个排查;

 .net FrameWork 4.0安装包已经安装;

 ASP.NET MVC 3也已经安装;

版本及dll信息都已按要求设定,why?

看到还有一个asp.net网站站点挂在下面,会不会是应用程序池的问题了?果断查看。

我去,两个网站共用一个程序池,打开另外一个,也无法运行了!!!

果断添加并分列单独的应用程序池,解决了。。。

2.win7系统下iis7.5的系统,备份的系统,错误如下:

HTTP 错误 403.14 - Forbidden

Web 服务器被配置为不列出此目录的内容。

要点:不是所有的错误都是目录权限的设置失误。

mvc的dll已经引用,按照给出的方法继续设置,结果列出了列表,还是不跳转到指定的登录页面。肯定是路由处理问题嘛,继续查找;

view中的页面采用的是Razor语法,mvc只是控制流程,协调并解析成前台的html了。

查看iis6.0下的bin目录,多了很多文件,都是mvc和razor的解析。拷贝至iis7.5的bin目录下,

刷新,还是没有,问题依旧。

还是没有设置上,why?难道是配置文档。。。这会靠谷姐了

managedHandler保护,已经开启了匿名访问啊。。。一条配置文献出现

<system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true" />
        <directoryBrowse enabled="false" />
  </system.webServer>

要设置<modules>节的值为true, 而目录浏览启用或禁用其实都没影响的。

出现了久违的login,皇天不负有心人。。。

往下研究,这个设置到底是什么作用了额,什么时候用了。且看下面:

含义:<modules runAllManagedModulesForAllRequests=“true” /> Meaning

不用:Don't use runAllManagedModulesForAllRequests="true" when getting your MVC routing to work

 主要是在请求时将url请求转换为对应的解析文件,IIS请求管道(request pipeline)正式实现其作用。

 

ps:思路决定出路。做完了开发,换个角度,部署也有助于理解系统的运行。

posted @ 2013-04-17 21:36  qinyi626  阅读(516)  评论(0)    收藏  举报