//�ص� protected void HttpCallback(AsyncHttp http, string content) { CallbackInfo info; if(!asyncRquestMap.TryGetValue(http, out info)) { return; } if ((info != null) && (info.callback != null)) { info.callback(info.key, content); } asyncRquestMap.Remove(http); }
//�첽http���� public bool AsyncRequest(string url, string httpMethod, OauthKey key, List<Parameter> listParam, List<Parameter> listFile, AsyncRequestCallback callback, out int callbkey) { Oauth oauth = new Oauth(); string queryString = null; string oauthUrl = oauth.GetOauthUrl(url, httpMethod, key.customKey, key.customSecret, key.tokenKey, key.tokenSecret, key.verify, key.callbackUrl, listParam, out queryString); AsyncHttp http = new AsyncHttp(); callbkey = GetKey(); CallbackInfo callbackInfo = new CallbackInfo(); callbackInfo.key = callbkey; callbackInfo.callback = callback; asyncRquestMap.Add(http, callbackInfo); bool bResult = false; if (httpMethod == "GET") { bResult = http.HttpGet(oauthUrl, queryString, new AsyncHttpCallback(HttpCallback)); } else if ((listFile == null) || (listFile.Count == 0)) { bResult = http.HttpPost(oauthUrl, queryString, new AsyncHttpCallback(HttpCallback)); } else { bResult = http.HttpPostWithFile(oauthUrl, queryString, listFile, new AsyncHttpCallback(HttpCallback)); } if (!bResult) { asyncRquestMap.Remove(http); } return bResult; }