MVC中的默认路由从VS工作,但不在测试服务器上

时间:2013-09-18 21:51:27

标签: asp.net-mvc-4

我有一个非常简单的ASP.NET MVC 4.0网站。它有一个单一的控制器(“HomeController”),它有一个动作(“索引”),它接收一个参数(“字符串id”)。我没有修改global.asax文件,因为这种路由是默认处理的。我没有为此操作创建视图,因为操作只是“向用户”发送文件(PDF)。如果我从Visual Studio中运行该站点(在项目属性中使用默认页面“home / index / 3”),该页面运行正常。但是,如果我将网站发布到我们的测试服务器(https://ourserver.com/mysite/home/index/3),我会收到404 - 文件或目录未找到。

注意:我们在此服务器上运行IIS7.5。

UPDATE :bin目录(以及相应的DLL,即项目后命名的DLL)和web.config文件都在那里。

那么,为什么这不起作用?

1 个答案:

答案 0 :(得分:1)

如果您使用的是旧版本的IIS并且尚未安装为您提供路由的MVC服务器扩展,则可以执行BIN deployment必要的基础架构文件。

编辑:如果您运行的是IIS 7.5,那么您应该拥有所需的一切。你提到你没有看到web.config文件或任何dll - 你是如何发布的?你绝对应该在发布目录的根目录下有一个web.config,在你的dll上有一个bin文件夹。

如果右键单击您的Web项目并执行发布,则可以发布到本地目录。这将是您在部署时应该看到的内容。

编辑2:您是否检查过它是在IIS中配置为Web应用程序而不仅仅是网站?