Tag: httpexception

为什么我从VirtualPathUtility ToAbsolute获得一些具有某些路径的HttpException?

我正在尝试使用VirtualPathUtility.ToAbsolute将应用程序相对路径(例如~/MyPage.aspx为应用程序绝对路径,例如/MySite/MyApp/MyPage.aspx 。 但是,对于某些路径,我收到一个HttpException说我的路径“不是一个有效的虚拟路径”。 例子: // This works: var abs1 = VirtualPathUtility.ToAbsolute(“~/MyPage.aspx#anchor”); // This errors: var abs2 = VirtualPathUtility.ToAbsolute(“~/MyPage.aspx?key=value”); 这是怎么回事?

发送HTTP标头后,服务器无法修改cookie

我正在用C#创建一个Web应用程序。 当我的页面加载时,我触发一个异步线程来处理一些数据。 此处理的一部分是更新cookie。 但是当我将cookie保存到响应时 System.Web.HttpContext.Current.Response.Cookies.Add(cookie) ,我得到以下exception: HttpException: Server cannot modify cookies after HTTP headers have been sent. 我可以用任何方式解决或解决这个问题吗?

抛出HttpException总是会发回HTTP 500错误?

我正在尝试在客户端返回HTTP 403错误代码。 我已经读过HttpException是实现这一目标最干净的方法,但它并不适用于我。 我从这样的页面中抛出exception: throw new HttpException(403,”You must be logged in to access this resource.”); 但是,当CustomErrors关闭时,这只会给出标准的ASP.Net堆栈跟踪(500错误)。 如果启用了CustomErrors,则不会重定向到我设置为403错误发生时显示的页面。 我应该忘记HttpException而是自己设置所有HTTP代码吗? 我该如何解决? 我的Web.Config的自定义错误部分是这样的: 而不是获得Forbidden.html,我会得到GenericErrorPage.html

HttpContext抛出HttpException

我写了一个自定义的http处理程序。 我通过编写实现IHttphandler的类来完成此操作。 在那个class级里面我有这样的代码, context.Response.Clear(); context.Response.ClearHeaders(); context.Response.AddHeader(“Content-Disposition”, “attachment;filename=” + attachmentFileName); context.Response.AddHeader(“Content-Length”, new FileInfo(downloadFile).Length.ToString()); context.Response.ContentType = GetMimeType(attachmentFileName); context.Response.TransmitFile(downloadFile); context.Response.Flush(); context.Response.Close(); 偶尔我会收到这样的错误, Exception HttpException The remote host closed the connection The error code is 0x800703E3 或这个, Exception HttpException The remote host closed the connection The error code is 0x80070040 在这两种情况下,堆栈跟踪都是这样的, at System.Web.Hosting.IIS7WorkerRequest.RaiseCommunicationError(Int32 result, Boolean throwOnDisconnect) at System.Web.Hosting.IIS7WorkerRequest.ExplicitFlush() at […]