目前,我们的应用程序的工作方式是下载一个描述我们想要的信息的文本文件。然后我们使用NSURLConnection并请求文本文件描述的一个数据包。然后我们要求下一个数据包,等待它进入,检查它,然后请求下一个数据包。
如果没有文本文件,有没有更好的方法呢?我觉得我应该能够让应用程序说“InformationForJohnDoe”,然后服务器才会开始为JohnDoe发送所有数据包,但在这种情况下,我不知道我怎么知道哪个数据是哪个我的connectionDidFinishLoading委托方法。
Web服务实现如下所示:
[WebGet(UriTemplate = "GetTestData/{file}")]
public Stream GetTestData(string file)
{
string fileName =
"\\testdirectory" + file;
if (File.Exists(fileName))
{
FileStream stream = File.OpenRead(fileName);
if (WebOperationContext.Current != null)
{
WebOperationContext.Current.OutgoingResponse.ContentType = "text/.txt";
}
return stream;
}
return null;
}
我不是一个C#人。我刚刚开始使用C#和Web服务。
答案 0 :(得分:0)
这个想法是你附加到你在类中定义的NSData,你从
获得的NSData -(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
方法
然后,在
中 - (void)connectionDidFinishLoading:(NSURLConnection *)connection
方法,您知道所有数据都已完全加载并可以使用。
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
NSLog(@"Connection didReceiveData of length: %u", data.length);
[self.dataData appendData:data];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
// do seomething with self.dataData
}