首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Windows phone 8开发人员:从未调用过HttpWebRequest.BeginGetResponse回调

Windows phone 8开发人员:从未调用过HttpWebRequest.BeginGetResponse回调
EN

Stack Overflow用户
提问于 2013-02-23 10:47:12
回答 1查看 5.5K关注 0票数 0

我开始在我的windows8机器上进行windows phone8开发,并在visual studio 2012自带的模拟器上进行测试。我有一个主页,上面有一个按钮。一旦按下按钮,它就会发出一个http请求。

代码语言:javascript
运行
复制
private void Button_Click_1(object sender, RoutedEventArgs e)
{
    string uriString = "http://209.143.33.109/mjpg/video.mjpg?camera=1";
    var uri = new Uri(uriString);
    var httpWebRequest = HttpWebRequest.Create(uri);

    httpWebRequest.BeginGetResponse(new AsyncCallback(OnGettingResponse), httpWebRequest);
}

private void OnGettingResponse(IAsyncResult ar)
{
    var req = ar.AsyncState as HttpWebRequest;
    var response = (HttpWebResponse)req.EndGetResponse(ar);
    var responseStream = response.GetResponseStream();
}

我在OnGettingResponse上设置了一个断点。但当我按下按钮时,断点永远不会被击中。

我是不是遗漏了什么明显的东西?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-26 15:03:32

我面临着同样的问题,即使等待了太长时间,我的回调也没有被调用。

我找到了这个堆栈溢出答案https://stackoverflow.com/a/15041383,并相应地修改了我的代码。这个问题的实际问题是,asker希望在Windows phone8下的HttpWebRequest中有一些超时功能。有计时器对我来说并不重要,所以我只使用了以下代码部分:

代码语言:javascript
运行
复制
public async Task<string> httpRequest(HttpWebRequest request)
{
    string received;

    using (var response = (HttpWebResponse)(await Task<WebResponse>.Factory.FromAsync(request.BeginGetResponse, request.EndGetResponse, null)))
    {
        using (var responseStream = response.GetResponseStream())
        {
            using (var sr = new StreamReader(responseStream))
            {

                received = await sr.ReadToEndAsync();
            }
        }
    }

    return received;
}

并将我对此方法的调用修改为:

代码语言:javascript
运行
复制
var response = await httpRequest(request);

这对我来说现在工作得很好。

我还仔细检查了ID_CAP_NETWORKING是否在WMAppManifest.xml中签入,以及internet是否在我的模拟器上工作。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15036458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档