这两天把网络的事情搞了一下,由于并没有api可以使用,所以我是选择下载了网站的html代码用正则表达式找出资源链接。
但是到现在也不知道是不是出于网络的原因,后台的OpenReadAsyncComplete事件一直没有响应。
我用的是webClient类,代码如下:
问题代码出现在最后一部分。。
1 using System; 2 using System.Diagnostics; 3 using System.Windows; 4 using Microsoft.Phone.BackgroundAudio; 5 using System.Collections.Generic; 6 using System.Text.RegularExpressions; 7 using System.Threading; 8 using System.Net; 9 using System.IO; 10 namespace LuooAudioPlayerAgent 11 { 12 228 public static void GetMaxAlbumNumber()229 {230 //GetMaxAlbumNumber231 WebClient origionWebClient=new WebClient();232 //origionWebClient.AllowReadStreamBuffering=false;233 origionWebClient.OpenReadAsync(new Uri("http://www.luoo.net" , UriKind.Absolute));234 origionWebClient.OpenReadCompleted+=origionWebClient_OpenReadCompleted; //。。。。这是事件235 //set currentAlbumNumber236 }237 238 static void origionWebClient_OpenReadCompleted( object sender , OpenReadCompletedEventArgs e ) //这里就是没有消息。。239 {240 StreamReader sR=new StreamReader(e.Result);241 string html=sR.ReadToEnd();242 //GetMaxAlbumNumber243 string pattern=@"vol. [0-9]+";244 MatchCollection matches=Regex.Matches(@html , pattern);245 string temp=matches[0].ToString().Split(' ')[1];246 maxAlbumNumber=int.Parse(temp);247 //set currentAlbumNumber248 currentAlbumNumber=maxAlbumNumber;249 //set isFinished250 isFinished=true;251 }252 }253 }
如果园友看了之后有知道其中原因的,欢迎指教。。。。
mail:tian_feng_bo@live.com