2012-11-30 34 views
1

我有一個MVC 3應用程序在兩個不同的域上爲請求提供服務。 firstdomain.com的請求來自iframe,對seconddomain.com的請求來自正常的瀏覽器窗口。我需要在iframe中使用無Cookie會話,但希望在正常瀏覽器中保留基於Cookie的會話。如何根據ASP.NET中請求的域設置cookieless會話?

通常會話類型在web.config通過設置以下確定:

<system.web> 
    ... 
    <sessionState cookieless="UseUri"/> 
    ... 
</system.web> 

但是這也適用於每個請求而不管結構域組成。有可能在服務器上有兩個站點副本,每個域有一個副本,並且每個副本對於sessionState Cookieless設置都有不同的值,但我想避免這種情況的原因有很多。在運行Web應用程序的單個實例時,是否有方法根據請求的域切換此功能?

回答

0

你可以將它們分成獨立的項目,每個項目都有自己的web.config。這是一個比兩個單獨的實例運行更好的想法。

只是出於好奇,爲什麼cookie?緩存或會話可能會更好。

+0

這是一個跨域的iframe,一些瀏覽器不喜歡在那個盤子上放置他們的cookie。 :) – Suzuken

+0

啊,我明白了。愚蠢的瀏覽器不喜歡他們的盤子上的餅乾,哈哈。 – IyaTaisho

相關問題