请问一下,您的WebService是ASMX还是WCF?还有您的文件下载Service是否是需要多次访问将文件分成块状(byte[])一部分一部分传来的?
如果是这样的话可以在客户端的每次调用Webservice过程中增加某个int的值,count下载的包数还有包的大小达到您的测进度目的
1,两种方式可以,但需要安装在Web服务器上,如使用SERV-U的FTP服务。可以使用本地软件类软件如FlashFXP的。2,复制狗是一个非常高科技的,就像配钥匙,但负责的困难很多,你首先需要知道的狗后,专用设备和加密,然后通过一个特殊的机产生的狗,然后写相同的加密里面的内容。
3,其中胜盘WINS服务器的IP地址,也就是您的网络服务器WINS服务,那么所有的电脑一样发送DNS请求发送胜的胜网络内的主机名和IP地址的服务器计算机相应的要求设置好表。
这个是断点续传,看了你可能有启发。#region 文件下载
public bool DownLoadFile(string localPath, string hostURL, int byteCount, string userID, long cruuent)
{
bool result = true
string tmpURL = hostURL
byteCount = byteCount * 1024
hostURL = tmpURL + "&npos=" + cruuent.ToString()
System.IO.FileStream fs
fs = new FileStream(localPath, FileMode.OpenOrCreate)
if (cruuent >0)
{
//偏移指针
fs.Seek(cruuent, System.IO.SeekOrigin.Current)
}
System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(hostURL)
if (cruuent >0)
{
request.AddRange(Convert.ToInt32(cruuent)) //设置Range值
}
try
{
//向服务器请求,获得服务器回应数据流
System.IO.Stream ns = request.GetResponse().GetResponseStream()
byte[] nbytes = new byte[byteCount]
int nReadSize = 0
nReadSize = ns.Read(nbytes, 0, byteCount)
while (nReadSize >0)
{
fs.Write(nbytes, 0, nReadSize)
nReadSize = ns.Read(nbytes, 0, byteCount)
}
fs.Close()
ns.Close()
}
catch(Exception ex)
{
LOG.Error("下载" + localPath + "的时候失败!" + "原因是:" + ex.Message)
fs.Close()
result = false
}
return result
}
#endregion
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)