1

ときどき、次のように画像をロードするとき:

dispatch_async(dispatch_get_global_queue(0, 0), ^
{
    NSData *data = [[NSData alloc] initWithContentsOfURL:someImgUrl.jpg];
    if (data == nil)
    {
        NSLog( @"data is nil with img url:%@"  ,imgUrl);
        return;
    }
    dispatch_async(dispatch_get_main_queue(), ^
    {
        img.image = [UIImage imageWithData:data];
    });
});

私のデータはゼロです。私はそれをスニッフィングするためにフィドラーを使用しましたが、それが起こるたびにフィドラーにリクエストが表示されないことがわかりました!

それが決して起こらない唯一の時は

  1. アプリで SignalR クライアントを使用しない場合。
  2. イメージを同期的にダウンロードする:

    NSData * imageData = [[NSData alloc] initWithContentsOfURL:someImgUrl.jpg ];
    img.image = [UIImage imageWithData: imageData];
    

SignalR を初期化する方法は次のとおりです。

NSString *listenurl = [NSString stringWithFormat:@"%@/%@", SERVICE_URL, @"/echo"];
mConnection = [SRConnection connectionWithURL:listenurl];
[mConnection setDelegate:self];
[mConnection start:[[SRLongPollingTransport alloc] init]];

他の誰かがiosでsignalRクライアントを使用し、この動作を経験していますか?

4

1 に答える 1

1

SignalR が同じドメイン名で画像を読み込もうとしているサーバーをリッスンしている場合にのみ問題が発生するようです。

したがって、私が見つけたこれまでの (不十分な) 解決策は、2 つ目のドメインを購入して、そのドメインを聞くことです。なぜそうなるのかはわかりませんが...

于 2012-11-04T21:36:56.350 に答える