0

作成した Uri から読み取り、Windows Phone 7 アプリに表示しようとしています。(私はこのチュートリアルを行っています: http://msdn.microsoft.com/en-us/windowsmobile/Video/hh237494 )。

私の問題は、プログラムが OpenReadCompletedEventHandler に入らず、その理由がわからないことです。(デバッグのためにメッセージボックスを配置しましたが、プログラムがOpenReadCompletedEventHandlerに入らないことがわかりました)。関連するコードは次のとおりです。

    void myButton_Click(object sender, RoutedEventArgs e)
    {

        try
        {
            WebClient webClient = new WebClient();
            Uri uri = new Uri("http://localhost:44705/Service1.svc/GetAllBrands");
            webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted);
            try
            {
                webClient.OpenWriteAsync(uri);
                MessageBox.Show("opening sucsseded");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
    void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
    {
        MessageBox.Show("OpenRead Handler");

      //  OpenWriteCompletedEventArgs temp = (OpenWriteCompletedEventArgs)e;
        DataContractJsonSerializer serializer = null;
        try
        {
            serializer = new DataContractJsonSerializer(typeof(ObservableCollection<Brand>));
            ObservableCollection<Brand> Brands = serializer.ReadObject(e.Result) as ObservableCollection<Brand>;
            foreach (Brand b in Brands)
            {
                int id = b.BrandId;
                string name = b.BrandName;
                listBrands.Items.Add(id + "             " + name);

            }

        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

    }

前もって感謝します!

4

1 に答える 1

0

私はこれを使用したことはありませんが、簡単なグーグルでMSDNのこのページに移動します - http://msdn.microsoft.com/en-us/library/system.net.webclient.openreadcompleted.aspx

これは、書き込み操作に読み取りイベントを使用しているため、機能しない理由を示しているはずです。MSDN のこのページに従って使用OpenWriteCompletedEventHandlerする必要があります- http://msdn.microsoft.com/en-us/library/system.net.webclient.openwritecompleted.aspxOpenWriteAsync

于 2012-05-06T18:48:29.407 に答える