0
我正在嘗試爲wp7創建一個應用程序以登錄到維基百科並幫助翻譯這些頁面。 因爲我無法通過mediawiki API登錄,所以我被困在開頭。 代碼的相關部分是這樣的:在wp7上通過api登錄到mediawiki
data.Append("action=login&lgname" + HttpUtility.UrlEncode(textBox1.Text));
data.Append("&lgpassword=" + HttpUtility.UrlEncode(passwordBox1.Password));
request.BeginGetRequestStream(new AsyncCallback(GetRequestStreamCallback),request);
request.BeginGetResponse(new AsyncCallback(GetResponseCallback), request);
public void GetRequestStreamCallback(IAsyncResult asynchronousResult)
{
HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;
Stream postStream = request.EndGetRequestStream(asynchronousResult);
byte[] byteData = UTF8Encoding.UTF8.GetBytes(data.ToString());
postStream.Write(byteData, 0, data.Length);
postStream.Close();
}
private static void GetResponseCallback(IAsyncResult asynchronousResult)
{
HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;
HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult);
Stream streamResponse = response.GetResponseStream();
StreamReader streamRead = new StreamReader(streamResponse);
string responseString = streamRead.ReadToEnd();
streamResponse.Close();
streamRead.Close();
response.Close();
}
的問題是:
在GetRequestStreamCallback我無法通過main函數的數據串。我該怎麼做呢?
在GetResponseCallback函數中,如何返回響應字符串String以便稍後輸出?
我的代碼在這裏返回的流類似於到開始方法的msdn文檔中給出的那個。是否可以更改get方法的開始方法? Silverlight似乎並不認可它們。 –
沒關係。我會以另一種方式做到這一點。檢查api.php?action = query&format = xml&meta = userinfo,如果id =「0」,則在加載登錄頁面的應用程序中打開Web瀏覽器。如果id是別的東西,那麼繼續前進。無論如何,我可能不得不在晚些時候學習開始方法。 –