2011-06-09 78 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功能,它工作正常。