The Kestrel web server is a new web server as part of ASP.NET Core. It is now the preferred web server for all new ASP.NET applications. In this article, we will review what it is, how to use it, and the differences between Kestrel vs IIS. Why Do We Need the New Kestrel Web Server? What about IIS? If you have …
What is w3wp.exe? Learn the Basics About IIS Worker Processes
Web applications running within Microsoft’s Internet Information Services (IIS) utilize what is known as IIS worker processes. These worker processes run as w3wp.exe, and there can be multiple per computer. It is possible to run IIS on a Windows desktop or Windows server, although it is usually only seen on Microsoft Windows Servers configured as web servers. What is w3wp.exe …
How to Create .NET Core Windows Services with Visual Studio 2017
Mobile and web applications might be all the rage these days, but a lot of the real work still gets done via background services and scheduled tasks. At Stackify, we use a lot of background .NET services for processing all of the data that our systems ingest. One of the common problems with .NET Core when it first came out was …
Why .NET Core and C# are the Next Big Thing
I have been playing with .NET Core for over a year now and have been very impressed with it.  Since our company creates developer tools that also work with .NET Core, I feel like we are more plugged into what is going on. We talk to customers every day who are already running .NET Core apps in production. .NET Core is …
10 Reasons To Use Docker with ASP.NET
When you think of Docker, you probably don’t think of .NET or Windows. There are a lot of good reasons to use Docker with ASP.NET. Check out our top 10 list of reasons to use Docker with .NET to see if Docker can help you! 1. Pre-Made Runtime Environment Generally, when you set up a server machine (or virtual machine), …
How to Use LoggerFactory and Microsoft.Extensions.Logging for .NET Core Logging With C#
If you have used .NET Core, you have probably battled with the new built-in .NET Core LoggerFactory which is in Microsoft.Extensions.Logging. It has created a lot of confusion around logging with ASP.NET Core. At Stackify, we have logging integrations for log4net, NLog, Serilog, and our direct API. We have a lot of experience with building logging appenders and libraries to work with various …
How to Configure log4net for .NET Core
Recently the log4net team published new NuGet packages that support .NETStandard 1.3, which means it should work with .NET Core. I decided to spend some time today to make sure our Stackify logging libraries work with log4net and .NET Core. We already published updates for NLog and Serilog. It was about time we had log4net support out there as well. …
Goodbye Web API: Your Guide to RESTful APIs with ASP.NET Core
When ASP.NET Core was released, Microsoft and the .NET community decided to merge the functionality of MVC and Web API. This makes sense since the two have always been very similar. We went through the process of making an ASP.NET Core Web API with various scenarios and came up with these tips for anyone out there wanting to do the …
ASP.NET Core Logging Tutorial – What Still Works and What Changed?
If you are getting started with ASP.NET Core, you are probably wondering what has changed with logging. In short, the answer is both nothing and everything. The common logging libraries you have always used with .NET still work. Microsoft does provide its own interface for logging with .NET Core and it uses it for .NET internals. In this article, we …
New Relic .NET Core Alternative: Stackify Retrace APM
One of the most requested features by New Relic users is support for .NET Core. If you aren’t familiar with it, .NET Core is Microsoft’s newest version of the .NET framework that is leaner, faster, open source, and can even run on Linux. Does New Relic Support .NET Core? Not as of January 2017, a full year after …
How We Use Cake to Build .NET Core Apps and Version Assemblies
Let Them Eat Cake! Apologies for the bad pun. I couldn’t help it. Today, we’re going to talk about CakeBuild, and why Stackify decided to start using it. But first, a little background. We like to begin with the end in mind at Stackify. As our platform started to unfold into its’ first compiled bits nearly five years ago, it …
Prefix: A lightweight ASP.NET profiler helping you write better software
Of all the modern development practices which I use day to day, none other has been more beneficial to me than the introduction of quick feedback loops in my workflow. Although a concept made popular by the Agile methodology and practices, it’s something most of us deal with when we invoke the compiler (or linter) which tells us if our …
Stackify Retrace APM for .NET Core
The Stackify team has been playing with .NET Core since the first beta came out. It was critical to us to ensure that we had amazing support for arguably the future of all .NET development. We first supported .NET Core in Prefix when .NET Core RC1 came out and have done many updates since then. We are excited to announce that …
When a .NET Core Azure App Service won’t start: 502.5 Process Failure
In the process of testing Retrace with .NET Core I decided to use the example MusicStore app as a test application. Pulling down the source from GitHub and deploying it to Azure App Services is easy right? Correct, and totally wrong both as it turns out. After hours of headaches… I figured I needed to share how I finally solved my …
15 Lessons Learned while Converting from ASP.NET to .NET Core
At Stackify we have been doing a lot of work with .NET Core over the last few months. We ported StackifyLib and our logging appenders over. We have also made sure that our app performance tools, Prefix and Retrace, can be used to profile .NET Core based apps. In fact, we’ve even converted the entire codebase of Prefix to core so …
Using xproj and csproj with .NET Core v1 & VS2015
.NET Core is here! We have been busy doing quite a bit of work with it. We have multiple client libraries for sending data to the Stackify API (for metrics, errors, logs, etc.). To ensure that all of our customers can send us data for their .NET Core apps, we have ported them over. So what’s the issue? How do you use …
5 Hidden Performance Problems for ASP.NET
Stackify founder and ASP.NET performance expert Matt Watson shares his expertise around five common ASP.NET performance problems. Learn how to identify and fix these elusive problems in your own apps and immediately improve your app’s performance! Watch the video from last week’s webinar. The deck is available here: http://www.slideshare.net/mwatson81/5-hidden-performance-problems-for-aspnet
How to Measure Real World SQL Query Performance for ASP.NET
Almost every ASP.NET application uses some sort of database. But from my experience, the reporting of how long SQL queries take is wildly inaccurate. In this article I’m going to explain why, and show you how you can see the real amount of time that your queries take. This article is really specific to Microsoft SQL Server but the principle …
Understanding ASP.NET Performance for Reading Incoming Data
Receiving incoming data in an ASP.NET application is a common task that most apps do. There are lots of ways of receiving data. Developers commonly write apps to handle HTML forms, file uploads, and APIs. There are a lot different types of APIs and they can receive data in JSON, XML, or other formats via ASP.NET Web API, MVC, WCF, …