0

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

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

更新: bin 目录(和适当的 DLL,即以项目命名的 DLL)和 web.config 文件在那里。

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

4

1 回答 1

1

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

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

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

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

于 2013-09-18T21:56:38.090 回答