I have created thread pool which have 5 threads. Both of them will start when my application start up. The problem is I created so many objects in thread loop call back function on each threads, and the memory is increase by second when app running, this is thread loop call back function:
void ThreadLoop(){ while(true){ var checkItems = _workItems.Where(w=>w.ActivedTime > 3).ToList(); foreach(var i in checkItems){ _workItems[i.Id].ActivedTime = 0; _workItems[i.Id].ExecutePostBack(); } //Recreate new _workItems dictionary _workItems = _workItems.Where(w=>w.ActivedTime > 0).ToDictionary(); // Sleep thread to free up momory Thread.Sleep(1000); // Call Grab collector free memory GC.Collect(); } }
I'm confusing that, is calling GC.Collect() on each threads like that good or bad ? Dose it cause bad performence ?
I have a customer database of 100,00,000 records stored in a sql db.I need to send mass emails to those customers everyday at a particular time.I want to use thread pool to achive it.
I have static content like html,css javascript stored in DB. when a user requests for these i create a temp file in virtual directory and return the url. My web app is hosted on a IIS server. On some systems on creation of a file my IIS Application pool crashes and restarts. If i disable file-monitoring though the problem is resolved, but i dont have this luxury when i am deplying at the client end. Is there any way by which i can avoid app pool crash during file creation? If not is there any way by which i can serve static content like html, css, images, xml and js without creating temp files. I would need a generalized way of handling all these data types.
When I create a new website in IIS and its associated application pool, I get the option of setting the .NET framework to 1.0 or 2.0.Via windows updates I have installed versions 3.0 and 3.5..however these dont show up in the drop down list.I read that the aspnet_regiis -i command needs to be run in the installed .NET framework folder for it to be visible in IIS.However, the aspnet_regiis.exe is only present in the 1.0 and 2.0 folders. Can I use the same exe to register the 3.5 framework with IIS?
I have a web site running on IIS7 on a remote server. I would like to do the following: Create a new subfolder under the root virtual directory. Create a new app pool. Add this new app pool to the new subfolder Normally, I would do this manually in IIS by first creating the app pool, and then right-clicking the sub folder an choose "add application", but I need to do this programmatically in C#. I've managed to make the above points 1 and 2 work, but I can't find the way to adding the application to the sub folder. This is the code I have used so far for 1 and 2:
[Code]....
So, I need to add "MyAppPool" to the "NytSite" folder. Is this even the correct way to do this?
I'm trying to deploy an ASP.NET application using InnoSetup. I need to perform the following tasks:
Create an IIS application.
Create a new IIS application pool and set it's .NET version to 4.
Set the application pool of the new application to the new application pool.
I have found a script to create a virtual directory, but I need an application and application pool:
procedure CreateIISVirtualDir(); var IIS, WebSite, WebServer, WebRoot, VDir: Variant; ErrorCode: Integer; begin { Create the main IIS COM Automation object }[code]......
Our ASP.NET 2 web application handles exceptions very elegantly. We catch exceptions in Global ASAX in Application_Error. From there we log the exception and we show a friendly message to the user.However, this morning we deployed the latest version of our site. It ran ok for half an hour, but then the App Pool crashed. The site did not come back up until we restored the previous release.How can I make the app pool crash and skip the normal exception handler? I'm trying to replicate this problem, but with no luck so far.Update: we found the solution. One of our pages was screenscraping another page. But the URL was configured incorrectly and the page ended up screenscraping itself infinitely, thus causing a stack overflow exception.
I have a timer running in my web application. Each time the application starts up, the timer is created. The issue is that the app pool ends after an idle period which also ends the timer. The next request causes the app pool to start back up and a new timer is created.
what is this error?how to handle it?Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.Description:An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.Exception Details: System.InvalidOperationException: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.
I've been getting this error recently, after several reloads of the same page:
System.InvalidOperationException: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached So I am thinking there must be some queries or calls in the app I used incorrectly that causes them not to release the connection. Is there any tools out there that allows me to somehow peek into the pool to see who is hanging on to what?
.NET application pool often overflowing. What Should I do for solving this problem? I am using singletton class for db connection. Also; My all db connection lines in using code block. So, it be dispose by .NET engine.
I'm having issues with an ASP.net site (framework 3.5, IIS6 ) having very slow 'first hit' response times. I'm guessing that the issue is to do with the app pool recycling and having to warm up.
I got to thinking. As part of the site I have a HTTP module that spins up a 'never ending loop' on a separate thread which periodically (every 5 seconds) calls an sproc on SQL to make sure the database is still there. I'm wondering if a similar approach might work to get the site to make an HTTP request to "itself" as a keep alive.
My question is, before I go and do this, can anyone think of any reason why it won't work? For example, something like "oh no... ASP.Net will figure out that you're playing with yourself and not go through the whole page lifecycle... etc etc".
I have an IIS 6.0-based C#/ASP.NET web site with a SQL server backend.I want to generate some computationally expensive reports (summaries, search engine indexes, etc...) in idle CPU time. I need the reports to be generated from WITHIN the IIS App Pool so it knows the proper configuration settings and (harder to fix) avoids the nightmarish security restrictions I've been placed under.
Can I start threads inside the AppPool's process that won't tie up the CPU, so it can continue serving requests unfettered? If so, how? What code and libraries?
I imagine it involves ThreadPool and thread priorities, but I couldn't find good coverage of low-pri threads and their interaction with the IIS web server and App pool.
[EDIT] [URL] discusses using a Timer for this but doesn't directly state that the .NET framework will insure that the Timer thread is low-priority. This might be a solution, but is that assured?
[URL]
[EDIT] Interestingly, Stack Overflow itself seems to use IIS background threads for my purpose:
[URL] in the comments, everyone says their (no longer used) technique sucks, but this one in the comments makes sense to me...
I have trawled the internet - to no avail. Woe is me.I have a .Net website running under a .Net framework 4.0 App Pool.The website references various assemblies that have been compiled for .Net 3.5.I have ensured that identical versions of the dll's and pdb's are in the bin folder of the the 3.5 code that I am trying to debug, and the reference path of the 4.0 web site. I.e. the code that I am trying to debug matched the assemblies that are loaded into the app pool's process.
When I attach the debugger using VS2008 with the solution for the .Net 3.5 code open, the breakpoints that I have set are marked as invalid (i.e. marked with an exclamation mark). When I hit refresh on a browser page that invokes the code that I am trying to debug, VS2008 raises an unmanaged code exception.I have researched In-Process Side-by-Side code execution, which is what is occurring in this instance, and is working very well; but for the life of me I cannot find any information on debugging in this scenario.It is not an option to convert the .Net 3.5 projects to use .Net 4.0, nor is it possible to convert them to use VS2010 and leave them targeting .Net framework 3.5
I am asking this out of curiosity. I got the following error when this is not enabledAn attempt was made to load a program with an incorrect formatThis is related to loading a class library but this particular class library is compiled for any CPU with VS2010 64 bit running on Win7 64-bit
I am using pooling in my sql server application of min pool size 5. But some time i am getting the error
Exception: System.InvalidOperationException Message: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached. Source:
i think the issue coming in case of data reader .I have set try/catch/finally for closing connection for both execueNonQuery and ExecuteScalar, but not set for execute reader. how to catch the execption coming under execute reader.
I don't know if this is the right place to post, anyway:Once in a while the application pool of my website has stopped. After taking a look into the Windows logs, In can see in the System log the following: first I see 5 warnings, and then an error. The warning is:"A process serving application pool 'domain.com' suffered a fatal communication error with the Windows Process Activation Service. The process id was '1568'. The data field contains the error number."The process id is different for all 5 warnings. Then the error message is:Application pool 'domain.com' is being automatically disabled due to a series of failures in the process(es) serving that application pool.The warning:
I have created web application and wrote single connection string in a class file hosted at live server.
I'm getting error sometime "Connection pool size exceeded".
My other applications are hosted on same server [server1] and all application hit same server [server2] having database. Is it mean, my every application using same connnection pool because of same IIS or same memory and encountered error said "Connection pool size exceeded".
How can I get rid of this problem ? (I have already tried manipulation of pool size)
I am working on a web application now a days, when i have uploaded it on server it creates exception message ,"connection Pool max size", but i have opened and closed connection properly.
I have noticed how editing the web.config file in an application folder causes that application pool to recycle and pick up the changes.
How does IIS achieve this and is it possible to extend this functionality for another config file? Or is this dependency hard-coded somewhere? This is related to the possiblity of deploying configuration changes to a web server without having to edit the web.config, which is usually maintained by a different team.
Note that I don't want to manually invoke this recycle event, but have it work in the same way as with web.config. I'm aware that I could simply add these settings to web.config, but that's not what I've been asked to do.