Once your applications are running in a production environment, it is important to be able to monitor what is happening under the hood. Quite often this is achieved by logging output to a file, to a database, or to some other medium. However, it is also possible to intercept live debug and trace output using…
Author: Jonathan Crozier
While developing a Windows Service, it is important to be able to debug it like you would a regular desktop or web application. Debugging Windows Services isn’t quite as straightforward as debugging standard Windows, Console, or Web applications. However, when developing a .NET Windows Service it isn’t difficult to set up your project to support…
InSQL
If you are administering a very large SQL Server database that uses integer IDs, you may have cause to be concerned about how many identity values you have left for your tables. This is a particular concern for heavy transactional tables where new rows are constantly being inserted and there are other reasons why identity…
Have you ever come across the need to use more than one version of an assembly within the same .NET application? Assembly loading can be a somewhat tricky subject when there are multiple versions of the same assembly for a .NET application to choose from. This can result in problems for both static assembly references…
Downloading files programmatically is a common task that most programming languages expose different APIs for. I believe it is useful to have examples to refer to for how to accomplish this in your language of choice, both synchronously and asynchronously. This article covers how to download files with C# using the classes and methods that…
Have you ever wanted (or needed) to make a file that self-destructs after it has been opened? There are a number of ways to implement this, including some off-the-shelf tools. However, often a custom solution that can be tailored to a specific use case is what is required. This article covers a simple means of…
Many apps today need to store data locally on the device they are running on in order to allow the user to continue to perform useful functions while offline or when network connectivity is unreliable. SQLite is an ideal solution for both simple and complex local data storage requirements. Whether you are storing small sets…
From time to time it can be very useful to debug applications running on remote machines. This is particularly true when the machine you are debugging your code on features specialised built-in hardware devices, or when your application is behaving differently compared to when it is running on your development machine. Many developers know that…
Whenever you start to scale things up with SQL Server Merge Replication automation becomes essential. This becomes very apparent when there are many subscribers connected to the publisher or when the number of articles that make up your publication is large. As part of this blog post, I am going to demonstrate how to speed…