1

ローカルの Apache サーバーでホストされている HTML ページがあり、以下のコードを使用してそのページに HTTP Web リクエストを送信しようとしています。コードは Web 例外に遭遇し、invalid argument exceptionあまりにもスローします。これは、コードの catch セクションでストリームからデータを取得するために使用されるコードで発生します。

 private void b1_Click_1(object sender, RoutedEventArgs e)
    {

        System.Uri targetUri = new System.Uri(@"http://192.168.1.4/san/index1.html");
        HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(targetUri);
        request.BeginGetResponse(new AsyncCallback(ReadWebRequestCallback), request); 

    }


    private void ReadWebRequestCallback(IAsyncResult callbackResult)
    {
        HttpWebRequest myRequest = (HttpWebRequest)callbackResult.AsyncState;


        try
        {
            HttpWebResponse myResponse = (HttpWebResponse)myRequest.EndGetResponse(callbackResult);
            using (StreamReader httpwebStreamReader = new StreamReader(myResponse.GetResponseStream()))
            {
                string results = httpwebStreamReader.ReadToEnd();
                //TextBlockResults.Text = results; //-- on another thread!
                // Dispatcher.BeginInvoke(() => TextBlockResults.Text = results);


            }
            myResponse.Close();

        }
        catch (WebException ex)
        {
            using (StreamReader reader = new StreamReader(ex.Response.GetResponseStream()))
            {
                Debug.WriteLine(reader.ReadToEnd());
            }


        }



    }
4

1 に答える 1

0

エミュレータまたはデバイスからページにアクセスしようとしていますか? デバイスの場合は、Web ページがセカンダリ デバイスからアクセスできることを確認する必要があります。つまり、ポート 80 が LAN アクセス用に開いていることを確認してください。

于 2013-04-14T17:28:23.340 に答える