Windows Azure Issue - First request fails but second succeeds? - asp.net

For the last 10 hours my website has been partially down due to being hosted in the West Europe region (an issue from the servers of Windows Azure).
Now they state that the servers are perfectly up and running again:
www.windowsazure.com/en-us/support/service-dashboard/
However my issue is that when I send a get request to my site I get a server error. But when I submit the same request quickly afterwards it loads just fine.
Anyone knows what the issue could be?

Azure SQL will close connection after a period of idle time, make sure you add retry machanism so when first connect to SQL failed, you try one more time.

Related

How do I resolve an "Arg_NullReferenceException" error when trying to connect through CheckPoint VPN?

I use CheckPoint VPN to log in to my place of work's servers to work remotely. The VPN has been working (mostly) fine all year, and I haven't changed any of the settings, but this morning, when I tried to log in, it's giving me the "Arg_NullReferenceException." I can't seem to find anything on this particular error on google.
I have tried restarting my computer, because it's not the first issue I've had with CheckPoint VPN (though it is the first time I've seen that error message), and a restart usually resolves whatever issue I'm having. I've also tried creating a new connection with the same settings, but I'm getting the same error with that one, too.
I'm not entirely sure what other information I would need to provide. I'm also not sure if it's a problem on my end, or on the company servers. I have already emailed tech support, but I thought I should be thorough.
This is a known issue. I have been jumping through hoops trying to get the capsule client to work. Raise a ticket with TAC if you have support. If not then you can download the E86 Endpoint connect client and run it. That has been my work around for this issue.
They just issued an update to the Capsule via the Microsoft Store. It seems one of the recent Windows Security Update broke the L2TP protocol within windows.

ASP.NET Application Pool process often gets stuck

We have a webserver (WinSrv2019) running a few ASP.NET 4.8 websites with a huge traffic.
Each site is running in its personal 64-bit Application Pool (Integrated Pipeline), .NET CLR Version v4.0.
One of the websites gets stuck apparently and stops responding.
Sometimes it continues a few minutes, sometimes it can remain stucked for a hour.
During this period our inter-application logs are empty.
Moreover, IIS log that logs incoming requests is empty as well and incoming requests during this period aren't being logged.
On the client side browser doesn't get any error, but just continue waiting for response.
Since it happens with the single site only, we've excluded the option that the problem refers server hardware. The server resources usage aren't get over 50%
On the second hand we don't have idea what can cause Application Pool to get stuck in this way.
Please advice.
How we can investigate this issue?
Is there any tool allowing to "debug" what happens inside IIS on the low level?
Thanks in advance

The client was unable to reuse a session with SPID xx, which had been reset for connection pooling. The failure ID is 29

A couple of days ago we've moved a new site from staging to production to replace the old site. Since that moment every couple of hours SQL Server throws the error:
The client was unable to reuse a
session with SPID 58, which had been
reset for connection pooling. The
failure ID is 29.
The w3wp service (IIS) throws 503: service unavailable and throwing it untill IISreset. Stressload of the server hasn't changed really and the DBA insists it's our (developer-team) problem because the old site didn't have any problems like this.
Reinstalling the system (or something like that) isn't really an option. The solution we've moved into production might be the flagship, but IIS serves a multitude of smaller sites and going offline for a longer period of time is out of the question.
Anyone experience something like this before? And how to tackle this?
TIA!

SSRS Report remote connection timeout on IIS7

I have a set of SSRS05 reports being called through the 2005 web service from our site that runs on Win2k8 and IIS7. The reports are stored remotely on another server from the web server.
In our QA environment, if we have a report that runs for longer than 2 minutes, I get the following error:
Message : The underlying connection was closed: A connection that was expected to be kept alive was closed by the server.
Status : KeepAliveFailure
The problem is that the SQL server shows that the stored procedure is executed correctly, the report server shows that the report was rendered correctly (after ~15 minutes), but the web server receives that error consistently after 2 minutes (120 seconds).
This same report runs with no problems on our old environment with ran IIS6. The issue I'm running into is that it looks like long running reports seem to run fine in our production environment. The QA environment as a replicate of our production environment, just with less juice.
Any ideas? I've checked the Keep-Alive status and made sure it's enabled. I've tried changing the connection settings timeout from 120 (default) to 300 seconds and it still fails at 120. I feel that we've been able to isolate to IIS7, but I'm at a lost where to look to change the timeout setting.
Any chance you're running in SharePoint Integrated Mode? If so, see "An ASP.NET Timeout Error Occurs After Two Minutes of Report Processing" in Troubleshooting Configuration Errors.

What Causes "Internal connection fatal errors"

I've got a number of ASP.Net websites (.Net v3.5) running on a server with a SQL 2000 database backend. For several months, I've been receiving seemingly random InvalidOperationExceptions with the message "Internal connection fatal error". Sometimes there's a few days in between, while other times there are multiple errors per day.
The exception is not limited to one site in particular, though they share business and data access assemblies. The error seems to always be thrown from SqlClient.TdsParser.Run(). It sometimes is thrown from old-school direct SqlCommand.Execute() calls, while other times it is thrown from Linq2Sql code.
I've been assured by the network guys that there are no errors or packets lost on their end. Has anyone else experienced this? Could it be a driver problem? We have been unable as of yet to pinpoint a specific trigger for this exception.
We're running II6 on Windows Server 2003.
After a few months of ignoring this issue, it started to reach a critical mass as traffic gradually increased. Under heavy load, including some crawlers, things got crazy and these errors poured in nonstop.
Through trial and error, we eventually tracked down a handful of SqlCommand or LINQ queries whose SqlConnection wasn't closed immediately after use. Instead, through some sloppy programming originating from a misunderstanding of LINQ connections, the DataContext objects were disposed (and connections closed) only at the end of a request rather than immediately.
Once we refactored these methods to immediately close the connection with a C# "using" block (freeing up that pool for the next request), we received no more errors. While we still don't know the underlying reason that a connection pool would get so mixed up, we were able to cease all errors of this type. This problem was resolved in conjunction with another similar error I posted, found here: Why is my SqlCommand returning a string when it should be an int?
Sounds like the database connection is getting dropped or timing out.
We recently had similar issues moving to IIS 6 from IIS 5 connecting to SQL 2000. Our issue was solved by increasing number of ephemeral ports available.
Look at the usage of the ephemeral ports by the IIS server. The default max no. of ports available is normally 4000. You might want to consider increasing this if the sites on your server are particularly busy or your application is making a lot of database calls.
You can monitor these first to see if going over max limit.
Search Microsoft Knowledge base for "MaxUserPort" and "TcpTimedWaitDelay" and make necessary registry changes. Make sure you back up registry or snapshot server before making the changes. Will need to reboot for changes to take effect.
You should double check your database and recordset connection are being closed after use. Not closing will use up this port range unnecessarily.
Check the efficiency of your stored procedures anyway as they might be taking longer than they need too.
"If you rapidly open and close 4000 sockets in less than four minutes, you will reach the default maximum setting for client anonymous ports, and new socket connection attempts fail until the existing set of TIME_WAIT sockets times out." - from http://support.microsoft.com/kb/328476
Check your server's LOG folder (\program files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG or similar) for files named SqlDump*.mdmp and SqlDump*.txt. If you do find any you'll have to take it to Product Support.
I was creating a new EF Core project and was trying to create the database to an external Linux server instead of a Windows Server or local one. After hours of searching I found out that I am using MySQL instead of the Microsoft SQL server.
I found it weird that everyone was using 1433 instead of the usual 3306. So to fix my 'Internal connection fatal error' I had to set up a docker instance of SQL Server bound to its default port of 1433.
It literally was that simple. In the docker repo look for "microsoft-mssql-server" and run the image as described neatly in the description below. Everything works now and I am able to push my database from my EF Core project to an external server.

Resources