【发布时间】:2015-06-14 19:42:32
【问题描述】:
当出现 404 错误时,我的应用程序会重定向到页面 http://localhost:41083/hata/page-not-found
一旦我的页面http://localhost:41083/iletisim/musterimiz-olun 重定向到 404 页面,即使我修复了错误,它仍然会转到 404 页面,但它不会触发控制器的操作。但是,当我调用 http://localhost:41083/Contact/CreateAccount 页面时,它是同一页面而没有重写 url,它显示该页面没有任何问题。
那么它是通过 url 缓存页面吗?如果是这样,我该如何禁用它?我没有在操作上使用任何输出缓存,并且我的网站在 IIS Express 上运行。
我的路由配置和 ContactController:
routes.MapRoute(
name: "musterimiz-olun",
url: "iletisim/musterimiz-olun",
defaults: new { controller = "Contact", action = "CreateAccount" },
namespaces: new[] { "OyakCorporate.Controllers" }
);
public ActionResult CreateAccount()
{
return View();
}
【问题讨论】:
-
请提供验证码。
-
除了名称:“musterimiz-olun”之外,您是否有默认路线或任何其他路线?如果是,则将此“musterimiz-olun”放在顶部,将默认路由放在底部。
-
是的,我有很多路由,并且在 routeconfig.cs 的末尾我有默认路由: routes.MapRoute( name: "Default", url: "{controller}/{action}/{id }",默认值:new { controller = "Home",action = "Index",id = UrlParameter.Optional },命名空间:new[] { "OyakCorporate.Controllers" });
-
其实我试过了,但它不起作用。页面与 url 重写完美配合,然后我不小心删除了该操作,然后出现错误。现在我修复了它,但它仍然显示错误页面。它并不特定于这个页面和控制器。有时我在其他页面上也有同样的问题。一旦出现错误,路由将不起作用。我能找到的唯一解决方法是重新启动计算机。我认为这在某种程度上是 iis 问题。但我找不到解决方法。
-
请提供完整的routeconfig.cs代码
标签: c# asp.net-mvc caching iis routing