Hi there
we noticed a rather strange behavior on one of our web applications. When debugging it on a local developer workstation, everything is processed fine (using Cassini Developement Webserver). When published on a remote webserver using IIS 6.0, processing runs fine about 4 or 5 minutes, then abruptly dies.
I'll explain later what "abruptly dies" means, first i would like to give an excerpt of the failing code.
// loads data from SAP Webservice and serializes it into database
LoadXMLDataFromSAP();
// loop each item of a certain structure and parse data
foreach (var xItem in xSapData)
{
// method determining a status, about 30 LOC, fast execution
GetStatusCodeForContract(xItem);
...
// methods to parse data blocks, about 400 LOC, slow execution (database etc.)
TimeconsumingParserMethod1(xItem);
TimeconsumingParserMethod2(xItem);
}
This code is running fine when Debugging, execution takes about 13 minutes (thats ok, because it only occurs when synchronizing all data with SAP). When running the SAME code against the SAME SAP-datasource on IIS 6.0, execution stops after 4 or 5 minutes.
First, the program throws a System.NullReferenceException on the call "TimeconsumingParserMethod1()", in the next loop we get the System.NullReferenceException on "GetStatusCodeForContract()". As we use the same parameter on both calls, i think the NullReferenceException is thrown because the member "xItem" is null.
Server configuration:
8 Core Intel machine
4 GB of RAM
RequestTimeout = 900 (15 minutes)
Memory usage = unlimited
Does anybody know about such a behavior on IIS 6 or similar production server environments?