2011-09-21 44 views
1

我有一个问题:当我在BackgroundAgent中创建HttpWebRequest时,应用程序抛出InvalidCastException。 这个代码在应用前景的任务,但不工作在BackgroundAgent:InvalidCastException HttpWebRequest c#

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(//InvalidCastException 
       new Uri(url)); 
      request.BeginGetResponse(r => { 
      HttpWebRequest httprequest = (HttpWebRequest)r.AsyncState; 
      try { 

全码:http://pastebin.com/zyCHBQuP

+2

请问您的网址以http或https? – Fox32

+0

它以https开头 – SevenDays

+0

是的,他说的。 'url'的价值是什么? –

回答

1

返回的类型取决于开放的传递到创建方法。你会得到一些WebRequest的后裔。您必须确保您传递的Uri类型将返回HttpWebRequest,如果您要进行该投射,或者您需要在投射前测试从Create返回的类型或使用as HttpWebRequest

http://msdn.microsoft.com/en-us/library/0aa3d588.aspx(对于.NET)

http://msdn.microsoft.com/en-us/library/0aa3d588%28v=VS.95%29.aspx(为Silverlight)

+0

http://pastebin.com/zyCHBQuP – SevenDays