2011-12-23 7 views
0

問題が発生しています。要求が停止してもコードはエラーを2回出力しますか?

私はこのコードのエラーを取得すると、それは私が呼び出す関数がOutputErrorに気づく、応答を殺すにもかかわらず、二回のエラーを出力します。私はそれを扱う場所

private dynamic GetOauthTokens(string code) 
     { 
      Dictionary<string, string> tokens = new Dictionary<string, string>(); 

      string url = string.Format("https://graph.facebook.com/oauth/access_token?client_id={0}&redirect_uri={1}&client_secret={2}&code={3}", 
       myAppId, HttpUtility.UrlEncode(myLoginRedirectUrl), myAppSecret, code); 

      try 
      { 
       HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; 

       using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) 
       { 
        StreamReader reader = new StreamReader(response.GetResponseStream()); 
        string retVal = reader.ReadToEnd(); 

        foreach (string token in retVal.Split('&')) 
        { 
         tokens.Add(token.Substring(0, token.IndexOf("=")), 
          token.Substring(token.IndexOf("=") + 1, token.Length - token.IndexOf("=") - 1)); 
        } 
       } 
      } 
      catch (Exception exception) 
      { 
       OutputError("Code", exception.Message); 
      } 

      return tokens; 
     } 

、ここでは、次のとおりです。

protected void OutputError(string error, string message) 
     { 
      object obj = new { Status = false, Error = error, Message = message }; 
      string objJson = JsonConvert.SerializeObject(obj); 

      myHttpContext.Response.Write("LinkedLook.getJson(" + objJson + ");"); 
      myHttpContext.Response.End(); 
     } 

何らかの理由で2回吐き出す...私は間違っていますか?

+0

ここには複数のスレッドがありますか?このメソッドを同時に2回実行できますか? –

答えて

1

デバッガをセットアップし、 "ouputerror"関数の先頭にブレークポイントを設定します。 2回目にヒットした場合は、スタックトレースを調べて、どこから来ているのかを確認します。それがuiから2回来たら火かき棒で同じことをしてください。

+0

あなたは私がこれをしたはずであることを知っています。真実の冷たいハードな言葉で、ノブを助けてくれてありがとう。 – Darren

+0

心配しないでくださいダレン、私が助けることができてうれしい:) – Rocklan

関連する問題