2011-03-17 121 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