Jus*_*n C 3 asp.net iis iis-7 iis-6 web-applications
我正在IIS 7上使用C#开发一个ASP.NET站点,但我希望得到一个适用于IIS 6的答案.该网站的一部分是一次最多上传5张图片.我有一个很好的算法来调整上传到我的最佳大小和比例的图像.
所以我唯一的实际尺寸限制是在初始上传期间.我修改了我的web.config,将数据包限制从4MB提高到32MB.在大多数情况下,这会解决我的问题.
我的问题出现在极少数情况下,用户试图加载超过我的限制.我可以提高限制,但用户总有可能找到5个更大的文件.如果用户选择较大的文件,我的try/catch块不会处理错误.错误来自IIS.
那么如何才能捕获C#代码中的错误,我可以对ASP.NET接口进行修改,以通知用户选择较小的文件,而不是看到一个讨厌的错误屏幕?
超过请求长度时,您可以访问异常.使用HttpModule,并为Error事件添加处理程序.
异常类型为:System.Web.HttpUnhandledException(InnerException类型为:System.Web.HttpException).
要捕获此异常,请将其添加到web.config:
<httpModules>
<add name="ErrorHttpModule" type="ErrorHttpModule"/>
</httpModules>
Run Code Online (Sandbox Code Playgroud)
并将此类添加到App_Code文件夹:
public class ErrorHttpModule : IHttpModule
{
private HttpApplication _context;
public ErrorHttpModule() {
}
private void ErrorHandler(Object sender, EventArgs e)
{
Exception ex = _context.Server.GetLastError();
//You can also call this to clear the error
//_context.Server.ClearError();
}
#region IHttpModule Members
public void Init(HttpApplication context)
{
_context = context;
_context.Error += new EventHandler(ErrorHandler);
}
public void Dispose()
{
}
#endregion
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3483 次 |
最近记录: |