【发布时间】:2011-04-22 23:02:48
【问题描述】:
我有一个使用 Asp.Net 3.5 和 MVC 1 的项目。
一切都在我的本地 IIS 上完美运行,但在我将其部署到托管服务器之后却没有。
Web 服务器是 IIS7,已激活集成管道(根据托管公司的说法)。
当我转到网站的根目录 www.site.com 时,default.aspx 会像这样重定向到控制器:
public void Page_Load(object sender, System.EventArgs e)
{
字符串 originalPath = Request.Path;
HttpContext.Current.RewritePath(Request.ApplicationPath + "Controller.mvc/Action", false);
IHttpHandler httpHandler = new MvcHttpHandler();
httpHandler.ProcessRequest(HttpContext.Current);
HttpContext.Current.RewritePath(originalPath, false);
}
这有效并且显示了正确的视图。但是,当我在浏览器中键入相同的地址 www.site.com/Controller.mvc/Action 时,我收到 404.0 错误。所以看起来 MvccHttpHandler 没有被正确调用(?)。
使用 runAllManagedModulesForAllRequests="true" 设置 web.config,并配置 MvcHttpHandler 来处理 .mvc 扩展。
我做错了什么,有什么想法吗?
【问题讨论】:
标签: asp.net-mvc iis-7 asp.net-mvc-routing