如何在Silverlight中为Web请求设置cookie

时间:2010-09-24 14:33:04

标签: silverlight http httpwebrequest

我想为http POST请求设置一个cookie值,这可以在Silverlight中完成吗?

如果是,那么我应该使用HttpWebRequest,WebCLient或其他什么类?

2 个答案:

答案 0 :(得分:0)

我认为您可以使用HttpWebRequest定义标头,因此只需使用正确的值定义Cookie标头,您就可以找到一些帮助here

答案 1 :(得分:0)

设置cookie:

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

其中value类似于“mykey = abcdef;”。 阅读它(在这种情况下键是“mykey”:

string[] cookies = HtmlPage.Document.Cookies.Split(';');
foreach (string cookie in cookies)
{
    string[] keyValuePair = cookie.Split('=');
    if (keyValuePair.Length == 2 && key == keyValuePair[0].Trim())
        return keyValuePair[1].Trim();
}

删除它:

string oldCookie = HtmlPage.Document.GetProperty("cookie") as String;
DateTime expiration = DateTime.UtcNow - TimeSpan.FromDays(1);
string cookie = String.Format("{0}=;expires={1}", key, expiration.ToString("R"));
HtmlPage.Document.SetProperty("cookie", cookie);