2017-05-23 24 views
1

私は、POSTとGETを処理する基本的なC#サーバを実装し始めています。私は、次のしているhttpWebRequestをHttpListenerにポストする

private static void Post(string webAddress) 
{ 
    var httpWebRequest = (HttpWebRequest)WebRequest.Create(webAddress); 
    httpWebRequest.ContentType = "application/json; charset=utf-8"; 
    httpWebRequest.Method = "POST"; 
    using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) 
    { 
     string json = new JavaScriptSerializer().Serialize("Some POSTed Data"); 
     streamWriter.Write(json); 
     streamWriter.Flush(); 
    } 
} 
public static void Main(string[] args) 
{ 
    CreateListener(); 
    Post("http://localhost:1234/"); 
    Console.WriteLine("Got here!!"); 
    Console.ReadLine(); 
} 

しかし、Process機能を起動していないよう:

private static HttpListener listener; 

private static void CreateListener() 
{ 
    listener = new HttpListener(); 
    listener.Prefixes.Add("http://localhost:1234/"); 
    listener.Start(); 
    listener.BeginGetContext(Process, listener); 
    Console.WriteLine("Listening..."); 
} 
private static void Process(IAsyncResult result) 
{ 
    HttpListenerContext context = listener.EndGetContext(result); 
    listener.BeginGetContext(Process, listener); 
    Console.WriteLine(context); 
    Console.ReadLine(); 
} 

は、基本的なhttpWebRequestでそれをテストしようとしました。何故ですか?

+0

クライアントからの接続が確立されるまで、ここに情報があります。クライアントからのリクエストが必要です – jdweng

答えて

1

httpWebRequest.GetResponse()に電話して、サーバーにリクエストを送信し、応答を得る必要があります。

MSDN

関連する問題