2

WP7 では、yahoo からグラフィックをダウンロードしようとしています。

http://chart.finance.yahoo.com/z?s=PLX12.NYM&t=1d&q=l&l=on&z=m&a=v&p=s

PC では期待どおりに動作しますが、Windows Phone では動作しません。アプリで実行しても、WP7 ブラウザで直接実行しても違いはありません。自分で簡単に試すことができます。WP7/8 エミュレーターでは時々動作しますが、常に動作するとは限りません。WP7 では、私の PC とはパラメータの解釈が異なるようです。この理由は何ですか?

手伝ってくれてありがとう

飯能

4

1 に答える 1

0

私はすぐにこれを一緒に投げました、そしてそれは私のWin8エミュレーターと私のWindowsPhone7.1で動作しました。Yahooをだまして私たちがデスクトップだと思わせるようにuseragentを設定する必要があります;)

public void LoadImage(Image imageControl, string imageUrl)
{
    WebClient client = new WebClient();
    client.Headers["UserAgent"] = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";
    client.OpenReadCompleted += new OpenReadCompletedEventHandler(OpenReadCompleted);
    client.OpenReadAsync(new Uri(imageUrl, UriKind.Absolute)); 
}

private void OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
    BitmapImage image = new BitmapImage();  
    image.SetSource(e.Result);
    imageControl.Source = image;
}

次に、(ページ上の)画像コントロールとURLを使用して、どこからでもその関数を呼び出すことができます。あなたが無効であるように思われるので、私はこれを使用しました: http ://chart.finance.yahoo.com/z?s=MSFT&t=1d&q=l&l=on&z=m&a=v&p=s

編集:ラムダ式から完全な関数を削除し、独自の関数を追加しました。怠惰ははるかに少ない。

于 2013-01-21T10:37:57.623 に答える