WebLog

Server-side, client-side, code snippets, scripts, automation, best practices, proven approaches, tips & tricks...

Detect when file download request is finished with jQuery

Figuring out when file download request completes with jQuery
0
Recently I started a small free service app for extracting icons from application files .exe and .dll. It is called IconExtract and it is hosted at http://iconextract.dejanstojanovic.net/ It basically takes application file you submit, extracts icons and returns them zipped, so beside long running upload there is some processing on the back-end when file is uploaded as well. ...read more

Image thumbnail Html helper with image caching for the perforance

Creating image thumbnail with caching in MVC
0
Creating image thumbnail on the fly is pretty easy in ASP.NET whether you are still using WebForms or MVC. There is even a methods introduced in .NET 4.5 framework for generating thumbnail image from a Bitmap class instance. You can easily create and action in a controller and generate and return thumbnail image on the fly...read more

Reducing the number of Stored Procedures for the Application

Approach to reduce number of stored procedure for the application
0
Nowadays, in the years of ORM, barely anyone thinks about stored procedures, but they are still there and accessing and reading data with ADO and SqlDataReader ist still the fastest way. Stored procedures are validated, parsed and compiled in SQL server, so these steps are not required to be performed versus plaint text query (which is what entity framework generates for accessing data). ...read more

Enabling GZip and Deflate compression from ASP.NET code

Compress your response on hosts where IIS compression is not supported
0
HTTP compression is a simple way to improve site performance and decrease bandwidth, with no configuration required on the client side. If you test your website through Google PageSpeed Insights, HTTP compression will be one of the points recommended to be used to increase website performance. Luckily for .NET developers IIS supports it out of the box...read more

Easier manipulation with IEnumerable objects

Useful extension methods for working with lists, arrays, dictionaries...
 
0
Working with any collection which implements IEnumerable is pretty easy in C#, plus if you are using LINQ you can easily manipulate with collection data. Recently I was doing some filtering with some in-memory collections and I had to check whether one collection contains same elements as some other collection with elements of the same type. At first sight this looks pretty simple, but first problem is that collection elements might not be in the same order in both collection. ...read more

Migrate stored procedures across databases

Copy stored procedure from one database to another with T-SQL
0
When working on an app you create all your stored procedures, functions, tables, view and other objects in a development database (or t least it should be like that). A small but annoying problem occurs when you have to migrate your stored procedures to test or production database. Imagine during development you had let's say 20 stored procedures...read more

Managed Extensibility Framework (MEF) quick start

Introducing MEF with simple code example application
 
0
Managed Extensibility Framework or MEF is a library introduced in .NET Framework 4 which allows developers to easily create plugin based applications. It lives in System.ComponentModel.Composition namespace and before start working with MEF reference to this assembly needs to be added in a project.It is basically an implementation of IoC (Inversion of Control) pattern with few core functionalities such as assembly loading...read more

ConcurrentDictionary vs Hashtable.Synchronized

Comparison of collections in multithread environment
 
0
Basically all Dictionary collections in .NET internally implement Hashtable wrapped, so in terms of mechanism they are pretty much the same. The difference is that Dictionary exposes strong types while Hashtable uses object-object keyvalue pair which is much harder to work with because you need to know what is the actual type of the object stored in a key or value. Often casting will probably be required. In multithread code environment locking is considered by default when accessing any shared resource...read more

JavaScript

read more

Umbraco CMS

read more

.NET

read more

SQL/T-SQL

read more