2011-03-17 119 views
0

我有一個代碼如下:ASPX設置Cookie域

this.Response.Cookies.Add(new HttpCookie("COOKIENAME",'test')); 

我要添加域「.test.com」對於這個cookie。我該怎麼做?我試過標準:

this.Response.Cookies["COOKIENAME"].Domain = ".test.co.uk"; 

但該cookie沒有被設置爲全域。有什麼建議麼?

下不工作之一:「」

HttpCookie MyCookie = new HttpCookie("COOKIENAME"); 
     MyCookie.Value = 'test'; 
     MyCookie.Domain = ".test.co.uk"; 

     this.Response.Cookies.Add(MyCookie); 
+0

只是想補充一點,我是從一個子域設置這個cookie,即abc.test.co.uk正在設置這個cookie。它在ABC上工作正常。但它不適用於www。 – 2011-03-17 14:47:26

+0

根據您的代碼[和本示例](http://www.15seconds.com/issue/971108.htm),我看不到任何錯誤...(除了使用單引號作爲字符串,但很可能在這篇文章中有一個錯字)。 – 2011-03-17 14:53:39

回答

0

我不認爲你需要的,所以只需MyCookie.Domain = "test.co.uk";

+0

這將是我的下一個猜測,因爲他們[在MSDN上使用此示例](http://msdn.microsoft.com/en-us/library/system.web.httpcookie.domain.aspx)。 – 2011-03-17 14:59:58

+0

「.test.co.uk」是一個全域性Cookie,適用於test.co.uk的所有子域名。 – 2011-08-17 10:05:54

+0

@Ash柏林,我們知道這一點,這就是他遇到問題的原因。我的回答並沒有說任何與你的評論相反的東西,但它是.NET中的解決方案。不知道爲什麼你會倒下它。 – Louis 2011-08-17 14:28:57

-1

我認爲你應該使用Cookie Path屬性來定義的cookie域

+0

'Path'是一個目錄路徑(例如,你希望它只能在'/ Portal /'目錄中運行)OP是正確的,它是你想要使用的'Domain'。 – 2011-03-17 14:59:18