我有一个ASP.NET MVC应用程序,它使用区域来传递不同的功能,具体取决于使用哪个URL。例如在MVC中使用OutputCache时,sub.domain.com给了我www.domain.com缓存页面
- www.domain.com - 网站区
- app.domain.com - 应用领域
- * .domain.com - 客户区域
所以,问题是,取决于传入的网址,我们会将您路由到不同的MVC区域。这一切都使用路由与一些扩展和伟大的工作。
现在,如果我启用对我的www默认路由的Index()Action的outputcache,下次我点击app.domain.com时,我得到了www域的缓存版本。我使用fiddler进行了检查,响应是200 OK,所以它肯定会触发服务器。但是,我的自定义路由中的日志记录告诉我,它没有打到该代码。
那么,OutputCache不能基于uri工作,而是使用其他一些算法?
感谢
感谢您的回复。它被设置为默认值,假设它被设置为服务器。我仍然认为这是不正确的,因为它正在返回不同动作的缓存版本(sub.domain.com返回www.domain.com缓存页面)。 – James 2012-03-10 08:41:24
@詹姆斯,的确,这看起来不正确。您提到了路由的一些自定义代码。你能证明这是如何完成的吗? – 2012-03-10 09:33:51
我使用DomainRoutes http://blog.maartenballiauw.be/post/2009/05/20/ASPNET-MVC-Domain-Routing.aspx来限制路由到某些域。这些路线在每个区域注册中注册 – James 2012-03-12 10:42:25