/** * Gets a phrase by it's ID asynchronously. * * @param phraseLoaded * Callback function for when the phrase has loaded. * @param receivedPacket * The received packet containning the received phrase chat message. */ private static void AsyncPhrase(PhraseReceiveCallback phraseLoaded, Data.PenguinPacket receivedPacket) { try { string strJson = Utils.DownloadString("http://phrasechat.disney.go.com/phrasechatsvc/api/1.1/pen/en/phrase/" + receivedPacket.Xt.Arguments[1]); Hashtable htlJson = Procurios.Public.JSON.JsonDecode(strJson) as Hashtable; if (Successful(htlJson)) { phraseLoaded(GetPhrase(htlJson), receivedPacket, 200, null); } else { phraseLoaded(null, receivedPacket, 200, GetError(htlJson)); } }catch (System.Net.WebException webEx) { phraseLoaded(null, receivedPacket, (int)webEx.Status, null); } }
/** * Starts getting a phrase by it's ID asynchronously. * * @param phraseLoaded * Callback function for when the phrase has loaded. * @param receivedPacket * The received packet containning the received phrase chat message. */ public static void BeginPhraseById(PhraseReceiveCallback phraseLoaded, Data.PenguinPacket receivedPacket) { System.Threading.Thread asyncPhrase = new System.Threading.Thread(new System.Threading.ThreadStart(delegate { AsyncPhrase(phraseLoaded, receivedPacket); })); asyncPhrase.IsBackground = true; asyncPhrase.Start(); }