日期:2011-10-07 浏览次数:20469 次
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