从asyncCallBack返回

时间:2013-08-19 20:24:44

标签: c# windows-phone-8 return asynccallback

遵循本教程http://msdn.microsoft.com/en-us/library/hh221581.aspx我创建了一个HttpWebRequest。

为回调函数生成此代码:

    private void ReadCallback(IAsyncResult result)
    {

        HttpWebRequest request = result.AsyncState as HttpWebRequest;

        if (request != null)
        {
            try
            {
                WebResponse response = request.EndGetResponse(result);

                using (StreamReader streamReader1 = new StreamReader(response.GetResponseStream()))
                {
                    string resultString = streamReader1.ReadToEnd();
                }
            }
            catch (WebException e)
            {
                return;
            }
        }
    }

现在我在resultString中得到了一些数据,但由于调用是异步的,我无法以正常的方式返回它(如下所示:AsyncCallBack - Does it have to be static / Does it have to return void?)。

我可以创建全局变量并保护resultString全局以便从任何地方访问它,但我不认为这是做这样的事情的正确方法。 MSDN只是将结果写入控制台(http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest(v=vs.95).aspx),而不是我想要的结果。

是否存在“最佳实践”或某些事项以继续使用结果形式异步调用(在以后调用的其他方法中使用它们?

0 个答案:

没有答案