现在有个项目中想用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;
}

 

 

相关文章:

  • 2021-10-01
  • 2021-10-30
  • 2021-10-13
  • 2021-05-02
  • 2022-12-23
  • 2021-05-27
  • 2021-07-30
  • 2021-10-05
猜你喜欢
  • 2021-06-20
  • 2021-12-13
  • 2021-05-01
  • 2021-09-16
  • 2022-03-04
  • 2021-11-18
  • 2021-05-24
相关资源
相似解决方案