日期:2011-10-07  浏览次数:20478 次

1。超过了最大请求长度

测试上传文件代码,默认ASP。NET允许最大一次上传2M大小的文件,我在自己的服务器上传一个网易泡泡的安装程序POPO.exe文件时候产生这个错误。

参考文章:

Asp.net中,上传文件的默认大小是4096 KB,也就是4M,不过你可以在Web.config中更改这个数据。

<system.web>
  <!-- 增加上传文件限制为8M -->     
                <httpRuntime maxRequestLength="8192" useFullyQualifiedRedirectUrl="true" executionTimeout="100"/>
</system.web>

     那么此时就是8M的文件,当然你也可以把它修改的更大,但是不管改成多大都会有个极限,如果用户上传的文件比这个值大,就会出现程序Catch不到的异常,因为这个是在运行时才能够监测。

     通常更常用的的方法是直接修改C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG目录下的 machine.config文件(Framework版本会不同,你用什么版本就进什么版本的目录),查找httpruntime在这一行将maxRequestLength的值改为理想的值,比如想要8M,就输入8192。这样,你的任何一个web工程都可以上传最大8M的文件。

     不使用第三方组件而仅使用.net自带的功能的话,好像10M已经是实际上的峰值了。

 2。应用程序访问权限不够

选择文件夹--右键--属性--安全选项--Users (机器名\Users) Users的权限  完全控制全部打扣即可。

执行ASP.NET页面在Win2000和WinXP下,默认账户是ASPNET,Win2003下,默认账户则是NETWORK SERVICES