1

問題があります。BackgroundAgent で HttpWebRequest を作成すると、アプリが InvalidCastException をスローします。このコードはアプリのフォアグラウンド タスクでは機能しますが、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 に答える