2011-06-09 51 views
4

我正在开发一个服务于多个域的asp.net mvc 3站点。所以基于域我显示不同的内容。基于域的ASP.net MVC 3输出缓存

例如,如果它的www.domain1.com在主页上显示3张图片和一些文字。如果它的www.domain2.com在主页上只显示文本。

我实现了一个名为FileOutputCache的自定义输出缓存提供程序,该缓存提供程序将缓存的页面保存到文件中,并且我希望在此项目中使用它。但是我有一个BIG问题,我没有访问请求,也没有访问主机...

这是一个操作:public override object

你可以看到我没有访问主机,密钥也不依赖于它...因此,如果我部署该网站并且第一个用户进入www.domain1.com,它将呈现并缓存页面与3图像和文字....如果另一个用户进入www.domain2.com,它会显示3图像和文字:(

有谁知道我怎么能区分请求的主机在我的自定义输出缓存提供者?

提前感谢! 胡安

回答

6

我用VaryByHeader =主机解决了这个

由于域名位于主机,这是一个头,你可以使用内置的asp.net mvc功能,它工作正常。