2010-09-11 119 views
0

我正在使用ASP.NET MVC頁面託管的Silverlight 4,例如http://test.example.com/main。我使用WCF從Silverlight調用服務器,並返回一些值。其中一個值我寫在cookie中使用:Silverlight或瀏覽器在超鏈接的窗口上丟失cookie?

HtmlPage.Document.SetProperty("cookie", newCookie); 

然後我可以使用查看cookie的文本:

MessageBox.Show(HtmlPage.Document.Cookies); 

我可以看到各種餅乾,包括我剛剛創建的,所以看起來像它被創建好。

從SL應用程序中,我顯示一些超鏈接。當用戶點擊它時,它會在新的瀏覽器窗口中顯示鏈接。鏈接轉到相同的域,例如http://test.example.com/viewdoc?1233

創建的新cookie未在請求中傳遞。原來在那裏的其他餅乾正在通過。我不明白它是如何跨域的政策問題,因爲他們要進入同一個域名。無論使用哪種瀏覽器(Safari,Firefox,IE8,IE6),它們都表現出同樣的問題,所以它似乎不是我在其他類似問題上看到的IE8問題。

那麼我的餅乾在哪裏?

回答

1

驗證cookie的path屬性未設置爲只有某些頁面:

path參數是潛在的 最有用的4個可選的cookie 設置。它設置了Cookie在 內有效的URL路徑。該路徑的 以外的頁面無法讀取或使用該cookie的 。如果未明確設置路徑,則 默認爲創建cookie的 文件的URL路徑。

+0

非常感謝。這確實是問題所在。 – therealtkd 2010-09-11 22:59:23