如果還不行,可以使用思歸提供的方案: 我們在上傳大文件時都遇到過這樣或那樣的問題。設置很大的maxrequestlength值并不能完全解決問題,因為asp.net會block直到把整個文件載入內存后,再加以處理。實際上,如果文件很大的話,我們經常會見到internet explorer顯示 "the page cannot be displayed - cannot find server or dns error",好像是怎么也catch不了這個錯誤。為什么?因為這是個client side錯誤,server side端的application_error是處理不到的,可以參考這個帖子研究一下產生這個錯誤的機理。 handling server error when upload file too large 解決的方法是利用隱含的httpworkerrequest,用它的getpreloadedentitybody 和 readentitybody方法從iis為asp.net建立的pipe里分塊讀取數據 iserviceprovider provider = (iserviceprovider) httpcontext.current; httpworkerrequest wr = (httpworkerrequest) provider.getservice(typeof(httpworkerrequest)); byte[] bs = wr.getpreloadedentitybody(); .... if (!wr.isentireentitybodyispreloaded()) { int n = 1024; byte[] bs2 = new byte[n]; while (wr.readentitybody(bs2,n) >0) { ..... } } chris hynes為我們提供了這樣的一個方案(用httpmodule),該方案除了允許你上傳大文件外,還能實時顯示上傳進度: asp.net upload magic part 2 這里有他講座的ppt文件: uploading with asp.net (part 1) uploading with asp.net (part 2)