HttpHandlers / Modules :: Disabling ValidateRequest In HttpModule?
May 12, 2010
I just updated my project to ASP.NET 4. All of a sudden, some of my HttpHandlers are giving ValidateRequest errors. This is because the user HAS to be able to put an XML string in the querystring.I know how to disable ValidateRequest on a page, but how do I do it on an HTTPHandler?
I am trying to access the page object in module and change the hyper links urls. Page object is being access properly, but changes I am making are not effecting the output. I mean here I am changing the url to TestURL.aspx, but this is not comming. could
In IIS6 the scenario below is working perfectly.I have an HttpModule called URLRedirect which examines URLS and by using RegEx rewrites of applicable. An example is a URL "/doc47.pdf" gets redirected to docpdf.ashx?id=47 Then the docpdf.ashx used the id value and, using a database builds an application/pdf document and returns it. Since I need to validate that the user has access to the data, the first line of the ProcessRequest(HttpContext context) function is:if (context.User.Identity.IsAuthenticated) ..... This is where the problem occurs, but more details first.
On a webpage, access to which is restricted to lgged on users who meet certain criteria there is a link which allows the user to present the page as a PDF document. This is achieved by using javascript to open a popup window using the window.open("/doc47.pdf", ... ) function.This all works fine under IIS6 and under IIS7 if I change the mode to Classic. But, under IIS7 in integrated mode, the following happens.The line in doc.ashx described above raises an exception because context.User == null. But, and this is interesting, if instead of using the link that opens the popup window I instead type /doc.pdf?id=47 into the address bar, the PDF document displays correctly.So this indicates to me that the URLRedirect Module is somehow losing the logged on user information.
regarding one issue I am facing. I created a httpmodule for hadling the unhandled errors and I need to log those errors using log 4 net in database.Everting working fine but I am not getting any error information once the error was hadled and I need that info too. I want to make it as a centralize module which can trap all errors and log those errors.How call application_error event of httpmodule from catch block...so that I can log that info there and I no need log in every catch block..
am trying to write an HttpModule that will work in IIS7 with integrated pipeline mode AppPool. Within this module I need to access Session variables and to be able to capture the Session Start and End events. I have found a couple of articles on this topic that indicate the need to modify the behavior of the HttpHandler in PostAcquireRequestState to force the Session for the context to be initialized. The article I am using as a template is posted here:[URL]In my case I am getting the following error:
[NullReferenceException: Object reference not set to an instance of an object.] System.Web.PipelineModuleStepContainer.GetEventCount(RequestNotification notification, Boolean isPostEvent) +30 System.Web.PipelineStepManager.ResumeSteps(Exception error) +1112 System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb) +113 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +616
I believe that this error implies a problem with attempting to attach an event handler multiple times. I am aware that the modules Init function can be called more than once and have set a static initialization flag which ensures that I will only ever attach the event handler once.In the most condensed form my code is as follows:
public class HttpModule : IHttpModule, IRequiresSessionState
I've tried to implement two different solutions that use either and HttpModule or and HttpHandler to do URLRewriting for me. These work great on IIS 7 within my local development environment in Integrated and Classic modes. Currently the production server is running IIS 6.0 on a shared hosting environment. It appears that the request at least hits both the Module and Handler as the URL above redirect to the particular friendly url, but it doesn't redirect and hit hte Module or Handler again. Instead I get a 404 error for the friendly URL.
How do we findout the whether the application is using any HTTPModules and httphandler in the applicaion?Is there anyway to findout from the url without checking the web.config file?
I got a website [URL] and I want to redirect http://www.example.com/folder to http://folder.example.com so if folder has a page called example1.aspx [URL]
It should be called in this way:
http://folder.example.com/example1.aspx Is that possible that using IIS 7 and asp.net 4.
eg: Folder/StaticPage.aspx?PageName=TestPage is re-written as
Folder/TestPage
This works fine on my local dev. machine on the Cassini server. But when its hosted in IIS (5.1 & 7.0) it fails to work, with the error as 404 Page Not Found.
I am using Httphandler to access my pages. Have Loginstatus Control on the master pages.
OnLoggingOut for the Loginstatus control I am doing a Session.abandon()... But My session_end
does not get called in the Gobal.asax.I tried link button and everything. but when I take out the httphandler the Session_end gets executed in global.asax
I can handle the full session end on my own but is there any way to call Session_end in global.asax?
the project i'm working right now, client wants to make url seo friendly, if any event would enter from the admin section the url should show the name of the event itself.
right now it shows www.--------.com/eventdetails.aspx?id=879878
I have 2 asp.net apps, each on a different server and with its own SS2005 db.
What I need is to grab the data entered in a form in app1 and insert that "behind the scenes" into the app2 db.
I suppose I have to do a POST in app1 and intercept that in app2, but since I've not done much http handling yet, I could use some hints or even examples if possible.