2010-10-03 5 views
1

Donc j'essaye de créer une classe simple que je pourrais utiliser pour consommer des services Web de REST. Cependant, j'ai quelques problèmes avec l'objet HttpWebRequest. Voici mon code:Plusieurs problèmes avec HttpWebResponse

using System; 
using System.Net; 
using System.Windows; 
using System.Windows.Controls; 
using System.Windows.Documents; 
using System.Windows.Ink; 
using System.Windows.Input; 
using System.Windows.Media; 
using System.Windows.Media.Animation; 
using System.Windows.Shapes; 

namespace RichardKnop.Utils 
{ 
    public class REST 
    { 
     public void POST(string Uri) 
     { 
     } 

     public void GET(string Uri) 
     { 
      HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri); 

      // Set some reasonable limits on resources used by this request 
      request.MaximumAutomaticRedirections = 4; 
      request.MaximumResponseHeadersLength = 4; 
      // Set credentials to use for this request. 
      request.Credentials = CredentialCache.DefaultCredentials; 
      HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 

      Console.WriteLine("Content length is {0}", response.ContentLength); 
      Console.WriteLine("Content type is {0}", response.ContentType); 

      // Get the stream associated with the response. 
      Stream receiveStream = response.GetResponseStream(); 

      // Pipes the stream to a higher level stream reader with the required encoding format. 
      StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8); 

      Console.WriteLine("Response stream received."); 
      Console.WriteLine(readStream.ReadToEnd()); 
      response.Close(); 
      readStream.Close(); 
     } 
    } 
} 

Cependant, je reçois plusieurs erreurs - par exemple:

Error 4 'System.Net.HttpWebRequest' does not contain a definition for 'GetResponse' and no extension method 'GetResponse' accepting a first argument of type 'System.Net.HttpWebRequest' could be found (are you missing a using directive or an assembly reference?) C:\Users\Richard\Documents\Visual Studio 2010\Projects\RichardKnop\RichardKnop\Utils\REST.cs 31 65 RichardKnop 

Comment est-ce possible qu'il ne contient pas de définition de la méthode GetResponse quand je peux voir clairement dans la documentation qu'il a une telle méthode? Ici, il est:

http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.getresponse.aspx

Désolé si cela est quelque chose de trivial mais je suis nouveau .NET.

+1

TOUTES LES MÉTHODES ET NOMS DE CLASSE SUPÉRIEURS ... qui vieilliront assez rapidement. –

Répondre

3

Pour autant que je sais Silverlight permet seulement des appels asynchrones

essayez d'utiliser BeginGetResponse. MSDN link

Questions connexes