When you are experiencing slowness with your ASP.NET application, one place to check is if the application is being recycled. If the application is being recycled over and over again, then sessions and application settings are lost and it has a pretty big impact on your users and customers. A place to begin your investigation […]
Read More →Tags: ASP.NET
Debugging a W3WP memory dump of a slow performing ASP.NET Azure Web App
I wrote an article here about how to capture a memory dump of the W3WP process that runs your Azure Web App. Once you get the Memory dump, here are the steps you need to find out what the reason for the slow performance is. First, I open the W3WP dump in WinDbg, as shown […]
Read More →ASP.NET WebAPI results in a 405 Method Not Allowed HTTP response
I was working on an IoT project where my device was calling a WebAPI. I had two methods, one had the signature shown in Listing 1 and the other in Listing 2. UPDATE 6-JUN-2016, check here for some exception handling tips. Listing 1, GET employees [Route(“api/TC/{custId}”)] public IQueryable<EmployeeDTO> GetEmployees(string custId) { var db = […]
Read More →Troubleshoot a Web API Self Host performance problem
If you have not tried creating a Self-Hosted Web API, you might give it a shot, here is a good, getting started example. Once it gets into production, if you are looking for ways to troubleshoot a slow performing self-hosted Web API, searching for a W3WP process to take a memory dump of or applying […]
Read More →Configure Debug Diagnostic 2.0 to create a memory dump when a specific exception is thrown
Debugging a process crash is a challenging activity. Although you know the exception type, the exceptions error message and you know the method that it is being thrown from, you still can’t find out why the exception is being thrown. It is especially complicated when the error is happening randomly and you cannot reproduce it. […]
Read More →Could not load type “Namespace.Class” from assembly “Namespace”
I have been working hard learning the new features of ASP.NET 4.5, specifically using the following methods: HttpResponse.BeginFlush HttpResponse.EndFlush Stream.ReadAsync HttpRequest.GetBufferedInputStream HttpRequest.GetBefferlessInputStream Stream.BeginRead Stream.EndRead All of which need to be implemented using either a handler or module, if you want to use them in IIS. Can’t say that I did this a lot in the […]
Read More →Debug = True
If you have ever performed website optimization then it is likely you have read this article here. This article discusses the impact of having the debug set to true in your production application. In another one of my blogs on C#, I made the comment once about “what is a technical blog without a comparison […]
Read More →Setting up performance counters for ASP.NET
Troubleshooting a performance problem can be very complicated. Unfortunately, in many cases you prepare and begin learning about how to fix a performance problem when it is happening or just after a performance problem. The fact is, you need to monitor your system and gather statistics on what is considered “standard operating performance” before a […]
Read More →