windows-phone-7 – 如何在windows phone 8 app中为httpwebreque
发布时间:2020-12-13 20:38:51 所属栏目:Windows 来源:网络整理
导读:我正在开发一个Windows Phone 8应用程序,在我的应用程序中,我正在调用服务并将一些数据下载到我的应用程序中. 我正在使用httpwebrequest请求,但我无法设置超时到我的httpwebrequest对象. 这就是我创建和使用我的httpwebrequest的方式: – public async Task
我正在开发一个Windows Phone 8应用程序,在我的应用程序中,我正在调用服务并将一些数据下载到我的应用程序中.
我正在使用httpwebrequest请求,但我无法设置超时到我的httpwebrequest对象. 这就是我创建和使用我的httpwebrequest的方式: – public async Task<string> ServiceRequest(string serviceurl,string request,string methodname) { string response = ""; try { var httpwebrequest = WebRequest.Create(new Uri(serviceurl)) as HttpWebRequest; httpwebrequest.Method = "POST"; httpwebrequest.Headers["SOAPAction"] = "http://tempuri.org/" + iTestservice + "/" + methodname + ""; httpwebrequest.ContentType = "text/xml"; byte[] data = Encoding.UTF8.GetBytes(request); using (var requestStream = await Task<Stream>.Factory.FromAsync(httpwebrequest.BeginGetRequestStream,httpwebrequest.EndGetRequestStream,null)) { await requestStream.WriteAsync(data,data.Length); } response = await httpRequest(httpwebrequest); } catch (Exception ex) { return null; } return response; } 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; } 我怀疑是: – 1)如何将超时属性设置为Httpwebrequest? 2)我可以在windows phone 8 app中设置超时属性的不同方式有哪些? 请告诉我 . 提前致谢.
您不能在Windows Phone上使用HttpWebRequest.Timeout,因为该平台不存在它.
如果您愿意使用测试版库,则可以安装 否则,您可能最好使用TaskEx.Delay,这是Microsoft.Bcl.Async的一部分.安装该库后,您将替换此行: response = await httpRequest(httpwebrequest); 有了这个: var httpTask = httpRequest(httpwebrequest); var completeTask = await TaskEx.WhenAny(httpTask,TaskEx.Delay(5000)); if (completeTask == httpTask) return await httpTask; else return null; // timeout (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows-server-2003 – 拒绝取消更新?
- Windows – Chromium Embedded Framework不会生成或运行
- dll – php 7无法初始化sqlsrv
- 如何获取Win32中的内核数量?
- windows – RescueTimes如何阻止工作?
- 如何确保在使用WiX显示UI后运行FindRelatedProducts?
- 如何在WPF MVVM中调用窗口的Loaded事件?
- windows-server-2008-r2 – 无法在Windows Server 2008上的
- Windows下 gpu版 Tensorflow 安装
- .net – 用于Windows应用程序的数据库是什么?
推荐文章
站长推荐
- 在Windows中运行JavaScript
- 在64位Windows上将字符串从C返回到C#时,如何防止
- windows-phone-7 – 当键盘处于活动状态时,Scrol
- windows-runtime – Window 10上的WinRTXAMLTool
- 手把手教你如何在window下将jenkins+allure集成生
- Uploadify(闪存文件上传)和集成Windows身份验证
- windows – IIS是否总是安装完全修补?
- windows-server-2003 – 如何强制用户在登录时回
- windows-7 – 如何在UAC对话框中控制应用程序的名
- active-directory – GPO无法应用;原因:无法访问
热点阅读