0

我想读取 cookie 以查看他们之前是否访问过该站点,然后决定他们应该去哪里。

如果不是 cookie,则加载默认页面。

我会在 RegisterRoutes 中处理这个吗?

这是我目前拥有的:

 public class MvcApplication : HttpApplication
  {
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
      //filters.Add(new HandleErrorAttribute());
    }

    public static void RegisterRoutes(RouteCollection routes)
    {      
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
      routes.MapRoute(
          "Default", // Route name
          "{controller}/{action}/{id}", // URL with parameters
          new { controller = "Account", action = "Logon", id = UrlParameter.Optional }
      );

    }

    protected void Application_Start()
    {
      AreaRegistration.RegisterAllAreas();

      RegisterGlobalFilters(GlobalFilters.Filters);
      RegisterRoutes(RouteTable.Routes);
    }
  }

我是要更改 RegisterRoutes 以决定从这里去哪里还是我会在其他地方这样做?

4

1 回答 1

1

你为什么没有一个动作来做到这一点?我认为这将是一个更好的方法来做到这一点。创建控制器的索引(作为默认路由)动作,在动作内部,检查 cookie 并根据值(或者如果 cookie 不存在)重定向到您想要的路由。这样您就可以对您的操作进行单元测试。

如果您需要更多帮助或代码,请告诉我。

于 2013-03-06T16:11:23.203 回答