想实现这样的功能:
在asp.net里,将运行该asp.net程序的web服务器硬盘上的文件(例如:e:\web\test.zip)拷贝到局域网内另一台机器的共享文件夹(例如:\\others\temp)里,我用FileStream实现了该功能。并且用了切割文件的思路,比如一个100M的文件,我在读取了10M后就将这10M写到\\others\temp下,然后再读下面10M,再最加写到\\others\temp下,再读再写直到完毕。这种方式在asp.net下实现了,没有任何问题。但是现在如果e:\web\test.zip文件很大,那么就很耗时了。现在用想异步操作的思路,对于100M的文件,我可以在每读取10M的时候就新开一个新线程以FileShare.Write和append的方式将这10M开始向\\others\temp里写,这样可以让读和写的2块硬盘同时工作。按照这个思路作成一个class,封装成dll,写了个console下的exe来调用成功的,可以异步copy文件,可是在asp.net里调用却出了问题,程序运行时浏览器的进度条走到一半就死掉了,也没提示任何错误,在\\others\temp里也没看到要copy的文件的影子,想问问是不是在asp.net里使用异步IO操作有什么特别或需要注意的地方?