Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight HttpWebRequest无法在标头中包含.ASPXAUTH Cookie_Silverlight_Cookies_Httpwebrequest - Fatal编程技术网

Silverlight HttpWebRequest无法在标头中包含.ASPXAUTH Cookie

Silverlight HttpWebRequest无法在标头中包含.ASPXAUTH Cookie,silverlight,cookies,httpwebrequest,Silverlight,Cookies,Httpwebrequest,现在我有一个silverlight应用程序,可以从mvc站点获取数据。只要我使用WebClient并获取请求,一切似乎都正常。然而,当我使用HttpWebRequest和POST时,我会遇到身份验证问题 问题源于缺少.ASPXAUTH cookie的请求 有人知道如何解决这个问题吗?在创建HttpWebRequest对象之前,请编写以下代码 System.Net.WebRequest.RegisterPrefix(“http://”,WebRequestCreator.BrowserHttp);

现在我有一个silverlight应用程序,可以从mvc站点获取数据。只要我使用WebClient并获取请求,一切似乎都正常。然而,当我使用HttpWebRequest和POST时,我会遇到身份验证问题

问题源于缺少.ASPXAUTH cookie的请求


有人知道如何解决这个问题吗?

在创建
HttpWebRequest
对象之前,请编写以下代码

System.Net.WebRequest.RegisterPrefix(“http://”,WebRequestCreator.BrowserHttp); System.Net.WebRequest.RegisterPrefix(“https://”,WebRequestCreator.BrowserHttp)

然后创建HttpWebRequest对象

//创建请求
HttpWebRequest请求=HttpWebRequest.CreateHttp(“http://zainshaikh.posterous.com/");


希望这有帮助。

我最近也被这件事咬了一口。您正在实现基于brower的通信和基于Silverlight的通信的分离。当您使用WebClient时,实际上是通过浏览器的HTTP堆栈发出请求,从而获得所有自动cookie处理。当您使用HttpWebRequest时,您使用的是Silverlight的HTTP堆栈,因此无法使用发送到浏览器的cookie;这两个饼干店是分开的。有关更多详细信息,请参阅


我当时正在写@Zain的答案,该答案将HttpWebRequest注册到浏览器的HTTP堆栈中,并解决了这个问题,但他抢先告诉了我;-)

是否要在httpRequest的标头中传递.ASPXAUTH?必须传递它。否则资源将不会返回数据。根据我对文档的阅读,它应该自动完成这项工作。这就是我使用WebClient时所做的。不过,我必须使用HttpWebRequest发布。谢谢链接。我会仔细读的。在我为Silverlight 2阅读的一个链接中,它说WebClient和HttpWebRequest都在使用browswer堆栈。我想这一定是在3或4改变了。如果你喜欢的话,请考虑我的回答:谢谢。让我查一下密码。我会测试并给出反馈,就是这样。谢谢!:)你让我和一位项目经理非常高兴:)