0

我会尽量简短,请随时询问更多详细信息。

已使用 MV3 razor 创建了一个移动版 aa 网站,并使用无扩展 URL 将其部署到 IIS6 Web 服务器。由于 .NET4 安装在服务器上,因此无需在服务器上进行特殊配置即可使无扩展 url 工作。当我尝试使用 URL 访问站点时:http://site/m/出现404 Not Found错误。

我做什么来产生这个问题:

  1. 右键单击VS2010中的项目并发布到本地文件系统。
  2. 压缩所有文件并传输到生产服务器+在那里解压缩
  3. 右键单击生产网站并为新应用程序添加一个虚拟目录
  4. 使用所有默认设置创建一个新的应用程序池
  5. 将新的虚拟目录/应用程序放入该应用程序池中
  6. 尝试在浏览器中访问网址;收到404 Not Found

令我困惑的是,如果我用“文件->创建新的 MVC3 项目”替换第 1 步,然后发布到本地文件系统,一切正常:

  1. 测试项目以我使用的名称显示在浏览器中http://site/mvctest/
  2. 我不需要使用任何扩展
  3. 20 分钟后它不会停止工作(见下一段)

现在对于(甚至)更奇怪的部分:

如果我现在将“m”应用程序移动到刚刚为“mvctest”应用程序创建的应用程序池中;它也有效。但仅持续 20 分钟(或我为“空闲后关闭工作进程”设置的任何值)。

有任何想法吗?

编辑:如果我将通配符映射添加到/m/它可以工作的虚拟目录,但这应该/可能也会以不好的方式影响性能?

4

1 回答 1

0

it sounds like your first scenario the handler isn't setup to handle the mvc requests. IIS 6 needs to be integrated or an extension for MVC mapped. Set the app pool up to run in integrated pipeline mode. What happens then? This should work. Also check the event log for rapid fail protection kicking in because of worker process resets.

于 2011-06-07T21:15:42.907 回答