1

我有一个问题:当我在 BackgroundAgent 中创建 HttpWebRequest 时,应用程序会抛出 InvalidCastException。此代码适用于 App 前台任务,但不适用于 BackgroundAgent:

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

完整代码: http: //pastebin.com/zyCHBQuP

4

1 回答 1

1

返回的类型取决于传递给 Create 方法的 Uri。你会得到一些 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)

于 2011-09-21T19:00:56.377 回答