Can Put Code In The BeginRequest Handler To Check Whether Any Such Tasks Are Due
Mar 23, 2011
I am writing a quick-and-dirty in-house ASP.NET application that needs to be able to run a task after a specific period of time. If it was a proper application, I'd probably use a windows service but I don't really want to bother with the extra complexity of that.I could put code in the BeginRequest handler to check whether any such tasks are due, but of course nothing would happen if nobody is using the application.at the moment the best option I can think of is something like ShellExecute("nohup sleep 1000; wget http://server/dummypage.aspx") (if you'll excuse the mixed windows/unix nomenclature).
anyone use/ know of any library or website with code snippets or samples with many of the mundane boilerplate code and/ or functions like data access, data scrubbing, recursive routines...
preferably c# since most of .net in the real world is c#. VB is ok too.
I have just started to look at the new "System.Threading.Tasks" goodness in .Net 4.0, and would like to know if there is any build in support for limiting the number of concurrent tasks that run at once, or if this should be manually handled.
E.G: If I need to call a calculation method 100 times, is there a way to set up 100 Tasks, but have only 5 execute simultaneously? The answer may just be to create 5 tasks, call Task.WaitAny, and create a new Task as each previous one finishes. I just want to make sure I am not missing a trick if there is a better way to do this.
Is there a technical reason for the existence of Page.PreLoad or is this just convenience to have a place where you can neatly place code that always have to be executed before the Load code? Is there a difference between adding code in the PreLoad event handler and adding code at the top of the Load event handler? And what would be a typical scenario where you use PreLoad?
I'm trying to check if the component already has the event...In my example here, I would like to know if the CollapsiblePanel already has the expandComplete handler before I add the event
Does BeginRequest and EndRequest for an ASP.NET HttpApplication always occur on the exact same thread for a given HTTP request from a client?The reason I ask is that I am seeing some very strange behavior where a ThreadStatic variable is not null inside of an Init method for an IHttpModule. I set this ThreadStatic variable to a value on BeginRequest and null it on EndRequest.
However, my IHttpModule Init method should be called outside of the BeginRequest/EndRequest period, so the only way I can think of that this ThreadStatic variable would have a value when my Init method is called is if EndRequest occurs on a different thread than BeginRequest and thus the value is still not null later on when ASP .NET tries to use that same thread to create a new HttpApplication instance...
I was under the impression that static files (CSS, images, @font-face files, etc) bypassed ASP.NET completely, and were served directly by IIS. However, my BeginRequest event handler is being called for every HTTP request, including those for static files. This concerns me because I'm creating an Entity Framework data context to be used for the lifetime of each request in that event handler. I don't want to create those contexts if they're never going to be used.
I'm using IIS 7 on Windows 7 Ultimate with so special handler mappings defined. Do I have it wrong? Should these events be firing?
I have a wap site with susciription and I want to check if users are authorized to see some pages. I have decided to use http module. Should I use AuthorizeRequest or BeginRequest to check the users status? and why?
we are having some weird issues with URL Routing in ASP.NET 3.5.
We have a search box that does a search and redirects to a routed URL.
When we search for the first time (aka Press a button that forces a postback) everythign works as expected. we get:
1. BeginRequest event.
2. Determines Route
3. Calls Routehandler to match the route item to the actual destination page
4. Routes the url appropriately.
After you do one search successfully and try again it fails to call the BeginRequest event. Because of this the routing data never gets called and so the url is never routed to its correct destination. What is weirder still if we append a "/" (trailing slash) to the url after the initial postback it DOES work properly again.
So our search route looks like this
mydomain.com/Search
entering a term and pressing the SEARCH button would yield a result url like this:
mydomain.com/Search/Results/MySearchTerm
Going back (after 1 successful search) you then need to use this url or else BeginRequest will never fire:
mydomain.com/Search/ < (note the extra "/" at the end)
why the BeginRequest event never fires unless the slash is appended?
Are beginRequest and endRequest working while sending and retrieving data with jquery? In my observation these functions (see below) are not working anymore. Is this because it's not a real postback?
function pageLoad(sender, args) { Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequest); Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequest); }
I'm developing IP Blacklisting HttpModule in asp .net application and I found one very annoying thing. Each request to the asp net page generates tens of "subrequests" to application resources like images, client side scripts, styles etc.
Now in my application I'm listing to the BeginRequest event and when it is fired I'm loading Dictionary with blacklisted IPs from application cache and check user's IP against it. I've made a simple log of what is actualy happening during each page view, here are the results:
[Code]....
As you see, one request to Login page causes BeginRequest to fire 18 times, there is 18 dictionary loads, 18 lookups etc. That's not the way I want it to be.
Is there any other event that is raised only once per each request? Where do you place the blacklisting mechanism in your applications? I know I can do it through ISAPI filter, but the catch is, this site is on the shared hosting and I'm not sure I can use it on their IIS. Also I'm not sure if ISAPI filter can access some piece of cache with this blacklist (I don't want to load it from DB on each request, that's obvious).
I'm debugging an ASP.NET MVC 2 application running on .NET 4.0 (Windows 7), currently inside of Cassini, the Visual Studio Debugging Web Server.All was running well, when I suddenly was having exceptions in my Application.EndRequest handler. After investigating into this issue, I found the reason was that Cassini was calling EndRequest on a different thread than BeginRequest (then, a ThreadStatic variable which was set in BeginRequest and used in the EndRequest handler was null, since on this thread, BeginRequest was never called).What could be the reason for Cassini to execute BeginRequest and EndRequest on different threads?I know the reason could be an 'Async' Page directive (see Do ASP.NET Requests always BeginRequest and EndRequest on the same thread? , but I have no 'Async' attribute in my Page directives).
in my asp.net website, i have textbox control inside datagrid control. I would like to add textchange event in javascript where i need to sum the values inside textboxes in datagrid and show that addition in lable outside grid. I would also like to do same addition in codebehind(*.cs) But codebehind only execute when browser not support javascript. It means when browser support javascript only client side javascript should execute not server side code
I get an error when attempting to navigate to the page containing this gridview. The error is 'SelectPackage_Click' is not a member of 'ASP.offer_aspx'.
here my page directive:
[Code]....
Here is my markup. Eventhough SelectPackage_Click is present in the code behind, it is not wired up with the button control.
I create custom HTTP handler for auto generating file and I want to tell IIS7 to serve current request like normal static file because I need to use IIS and web.config file to control compression setting and any other HTTP header of current requested file.I know. there is an internal class called StaticFileHandler in ASP.net. But I cannot access it. Or you have any other way to work like this.
i want to check in my MVC code that I craeted in visual studio 2010 in Viusla source safe 2005. when i try to check in from Visual studio.It pops up a message asking for TFS server. is their any way I can remove the TFS option and make it regular source safe option.
The ChecBox will be selected according to the user needs: 1, 2, 3 or more... When the page is fired, I wanted to get in the code behind the box which are checked so I can build a query consequently. So in the code behin, i have this:
This is with ASP.NET Web Forms .NET 2.0 - I have a situation that I am not sure how to fulfill all the requirements. I need to update an img source on the page if selections are made from a drop down on the same page. Basically, the drop downs are 'options' for the item. If a selection is made (i.e. color: red) then I would update the img for the product to something like (productID_red.jpeg) IF one exists. The problem is I don't want to do post backs and refresh the page every time a selection is made - especially if I do a check to see if the image exists before I swap out the img src for that product and the file doesn't exist so I just refreshed the entire page for nothing.QUESTION:So I have easily thrown some javascript together that formulates a string of the image file name based on the options selected. My question is, what options do I have to do the following:submit the constructed image name (i.e. productID_red_large.jpg) to some where that will verify the file exists either in C# or if it is even possible in the javascript. I also have to check for different possible file types (i.e. .png, .jpg...etc.).not do a post back and refresh the entire page
I want to check the status code for a web url without using the IP address as I have many websites configured with the same IP and only hostname is different for them. The HttpWebRequest resolves the IP Address and use it.