部署在IIS6上的MVC3站点在20分钟后停止工作,404未找到
问题描述:
我会尽量缩短这个时间,随时索取更多详细信息。部署在IIS6上的MVC3站点在20分钟后停止工作,404未找到
使用MV3剃须刀创建了移动版网站,并使用无延伸网址将其部署到IIS6网络服务器。由于.NET4安装在服务器上,因此服务器上没有特殊的配置可以使扩展名的URL工作。当我尝试访问该网站的网址为:http://site/m/
时,我收到一个404 Not Found
错误。
我做些什么来产生这个问题:
- 右键单击在VS2010项目,并发布到本地文件系统。
- ZIP的所有文件,并传送到生产服务器+解压有
- 右键单击制作的网站,并添加一个虚拟目录的新应用程序
- 创建所有默认设置
- 换上新的应用程序池该应用程序池中的新虚拟目录/应用程序
- 尝试访问浏览器中的URL;收到
404 Not Found
这让我为难的事情是,如果我替换为第1步“文件 - >新建MVC3项目”,然后发布到本地文件系统一切正常:
- 测试 - 项目显示在与我用
http://site/mvctest/
- 我不需要使用任何扩展名的浏览器
- 它不会停止20分钟后工作(见下段)
现在的(甚至)怪异的一部分:
如果现在移动“M”应用到刚刚为“mvctest”应用程序创建的应用程序池;它也可以工作。但是只有20分钟(或者我为“空闲后关机工作进程”设置的任何值)。
任何想法?
编辑:如果我将通配符映射添加到/m/
虚拟目录,它可以工作,但是这应该也会影响性能。
答
它听起来像你的第一个场景处理程序未设置为处理mvc请求。需要将IIS 6集成或映射到MVC的扩展。 将应用程序池设置为在集成管道模式下运行。然后会发生什么?这应该工作。由于工作进程重置,还请检查事件日志以获取快速失败保护。
如何将IIS6应用程序池设置为集成管道模式?我认为这是一个IIS7功能?在事件日志中找不到任何东西。 – Espo 2011-06-14 12:00:54
啊..对不起。是的,iis 6总是'classic'(按照iis 7的定义),因此你需要为你的应用程序设置通配符处理程序。 – 2011-06-14 18:29:25
至于你对性能的问题 - 肯定 - 性能可能会受到影响,但你需要确定这是否有问题。许多网站都是这样运行的,没有性能问题。测试你的应用。尝试的一个选择是删除任何资源文件夹(脚本,图像等)的映射 – 2011-06-14 18:42:43