2011-09-21 67 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