WCF Service VS IIS 7.0 VS IIS7.5 - wcf

I got WCF Service with Fluent NHibernate. When I host it in in IIS7.5 on my development machine(WIN7) it works fine. Worker process shows the clear garbage collection indication of my app pool.
But when I moved to production, which is a Windows Server 2008 with IIS7, Garbage collection is not working, and the virtual bytes in worker process keeps on increasing and got out of memory.
The app pool is configured as Integrated .net 2.0. Has anyone experienced this, or is it a known issue with IIS7.0, or do I miss any settings in my configuration file?
I already tried with timely recycling but it did not have any effect.
Regards,
Pradeep

There are some references to garbage collection running less often on windows 2008 IIS7, than on a development machine, see for example: GC Not Running Often Enough on IIS 7 Application - Windows Server 2008
However, if you are hitting this problem your code is written in such a way that objects are left for the garbage collection to clean up. You should try disposing objects and suppressing finalizations, see http://msdn.microsoft.com/en-us/library/ms973837.aspx especially the code example at the end of the article.

Related

IIS pool stops on first request

I have .net framework 4.8 web site deployed on IIS 10. And It's pool stops on every first request after each start.
Here is the list of programs and features on server:
Programs and features
In Application Windows log I found 10 errors per each request. Everyone error is:
The Module DLL C:\Windows\system32\inetsrv\aspnetcore.dll failed to
load. The data is the error.
And in System log I have warning:
A listener channel for protocol 'http' in worker process '2968' serving application pool '{MyPoolName}' reported a listener channel failure. The data field contains the error number.
With binary data in details tab: In Words 0000: 8007007E
I tried to repair installed version of .net 5. Also tried to install .net framework 4.8, but installer didn't allow to do it because of:
.NET Framework 4.8 or a later update is already installed on this
computer.
I even tried to create site with empty directory. When I create one on my computer it shows "403.14 — Forbidden" as it should. But after doing the same on server empty site pool stops as my site's pool.
Have you ever faced such a problem? I have no idea how to fix it!
I have .net framework 4.8 web site deployed on IIS 10. And my IIS pool stopped on first request. Researching similair issues I found this artcle on the Microsoft Monitoring Agent APM service. This service was disabled, I removed the Microsoft Monitoring Agent APM as it was not being used. My application now successfully launches.
https://kevingreeneitblog.blogspot.com/2017/03/scom-2016-agent-crashing-legacy-iis.html
Thank you for your help. I solve the problem with complete reinstallation of server OS and components. My consider is that the problem was into iis or OS component.

Limit Process Memory Usage

A question related to the .NET process and in this case the dotnet command.
Here's the scenario, I'm running various .NET Core web applications on an Ubuntu server using Kestrel - Apache as a reverse proxy following the Microsoft Guide.
The question is: Is there a way to limit the memory used by each dotnet process or a workaround to do it so? Before any question, the reason why limiting the memory is: that I have a Web Application running Hangfire Server which consumes a lot of memory and it's not limited and I would like to better control the memory allocated to any application.
I tried to look into runtimeconfig.json file but I didn't find anything.
If there is no way, maybe some way to limit the memory of a Linux process could do the trick?
Many thanks!

COM+ application package hangs - Production Crash

We have existing VB6 COM+ application running on multiple servers.
Recently, we have implemented change to integrate COM+ application with a .Net class library (to consume IBM ESB services).
Problem
The application stops responding all of a sudden. This happens intermittently
Whenever this situation happens we see some COMponets hanging in the COM+ package. That application call time for some of the components becomes to high.
We need to shut down and restart the COM package to make the application work.
We have checked the code for infinite loops, etc, but haven't found any.
How to debug this situation? We are not able to reproduce this in development or test environment. Can anyone help me on this ?

IIS process recycle and session variables

Is it a bad idea to setup a web application on client PCs with Windows XP (there are ten workstations), rather than on a server (Windows Server 2003).
I have an ASP.NET application, which has a memory leak and uses session variables. I believe that the session variables may be causing problems when the IIS process recycles. Is there any benefit of installing IIS on a server rather than on workstations?
I was debating to myself whether to ask this question here or on server vault. As my question references session variables I decided to ask it here.
If the problem is regarding session variables or a memory leak it really doesn't matter where you run it because the problem is in code, not in the platform.
The only possible benefit to running a problematic application like this on Windows Server 2003 (IIS 6) rather than on Windows XP (IIS 5.1) is that you can schedule recycles for the Application pools under IIS 6 and may be able to put a band-aid over the problem by recycling often and changing the code to store session out-of-process.
Bottom line - fix the code and run the application where it makes sense to run it.

How much memory does each apppool use by default in IIS 6.0?

How much memory does Windows or IIS 6.0 allocate by default for each web site when each site runs in its own AppPool? The effect memory wise when web sites share the same AppPool vs each in a separate one. I am talking about when websites start up, not when web sites start using memory when they run applications.
Vanilla Windows server 2003 IIS 6.0 process consumes about 5mb of memory.