Author: Kristoffer

  • Interfacing with the Zoncn NZ100 VFD over Modbus

    I recently purchased a new Zoncn NZ100 Variable Frequency Drive to drive a three phase motor used on a CNC. My intention is to integrate it into the controller that controls the CNC over Modbus, which the VFD supports using RS-485. However, to communicate with it, one must know the registers of the VFD. This…

  • A Burst Cache implementation released

    There are few things more rewarding in site performance than enabling the Output Cache. This will store the ready-generated HTML to be served without executing any WebForms pages or Controller actions and their respective Views for MVC sites. In Episerver, the output cache is enabled in the applicationSettings element’s httpCacheExpiration attribute in web.config. That sets the…

  • Methods of .NET self-annihilation part 4: Background Thread Exceptions

    Death by Background Thread Exception (including ThreadPool User Work Items) If you use a thread or ThreadPool.QueueUserWorkItem to run code asynchronously and don’t catch your exceptions inside your WaitCallback, you will bring your entire application down when it breaks. // This code snippet kills your web app process. System.Threading.ThreadPool.QueueUserWorkItem(delegate { var ctx = System.Web.HttpContext.Current; var u =…

  • Methods of .NET self-annihilation part 3: Stack Overflow

    This is another issue that results in Frequent Web Application Restarts, which causes the performance to plunge. Death by Stack Overflow This one is interesting, yet it has nothing to do with StackOverflow.com. The StackOverflowException is one of very few exception classes in .NET that are not catch-able. Scratch that, it’s not possible to “swallow” it in a…

  • Memory Leak in CMS prior to 9.0.2

    This bug appears only in load-balanced / remote events setups for CMS versions between 7.5 and 9.0.2 (released September 14th 2015, in which it was fixed). It’s reported as bug CMS-1405. This memory leak is relatively slow. Because of the way that ASP.NET handles cache, the application’s memory allocation will remain constant while the cache portion…

  • Methods of .NET self-annihilation part 2: IIS ping

    Last post I discussed why Frequent Web Application restarts are bad. This is an issue that can cause you pain trying to get the application back up running again: Death by IIS Ping IIS’ built-in health monitoring is quite simple, but despite it having the word “ping” in its name, it has nothing to do with…