紧急求助:关于Remoting的文件传输问题

  现在有个项目中想用remoting实现下面这样一个功能:
  在server端有一个方法,要经过一系列复杂的运算后形成了一个比较大的文件(5M-20M)的二进制数据文件,然后再通过Remoting传输到client, 该如何实现?
  我现在是用下面的办法做的:
  在一个RemoteObject类中实现了这样的一个方法,由于通过Remoting无法返回FileStream等对象,所以只能返回byte数组,但这样的话,传输大文件时效率很差,一个7M的文件在100M网络环境下还要用20-30秒,而需求中要求对于10M数据将时间控制在5秒之内,有什么好办法么?谢谢!

public byte[] ReadFile(string filePath)
{
    FileInfo fileinfo 
= new FileInfo(filePath);
 
    BufferedStream inStream 
= new BufferedStream(new FileStream(filePath, FileMode.Open));
    
byte []buf = new byte[fileinfo.Length];
    inStream.Read(buf, 
0, (int)fileinfo.Length);
 
    inStream.Close();
    
return buf;
}

 

 

posted @ 2004-12-02 22:22  申龙斌的程序人生  阅读(2508)  评论(10编辑  收藏  举报