InvalidCastException HttpWebRequest c # - PullRequest
       41

InvalidCastException HttpWebRequest c #

1 голос
/ 21 сентября 2011

У меня проблема: приложение создает InvalidCastException при создании HttpWebRequest в BackgroundAgent.Этот код работает в задачах переднего плана приложения, но не работает в BackgroundAgent:

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

Полный код: http://pastebin.com/zyCHBQuP

1 Ответ

1 голос
/ 21 сентября 2011

Возвращаемый тип зависит от Uri, переданного в метод Create. Вы получите потомка 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 (для серебряного света)

...