Archive for August 2014

Optimizing LINQ expressions with anonymous types and methods
Advanced LINQ techniques
When LINQ was announced in .NET framework 3.5 I was a bit skeptic because it look a bit odd to me on the first look. Writing queries in C#, just did not look right to me. Anyway, not all the things introduced in .NET had long life... read more
Fastest way to return JSON result from a controller
Resturn JSON in MVC controller action
Recently I had to develop a form on a page which loads secondary dropdown list items based on selection in a primary dropdown list. Because secondary list items are basically children elements of the one selected in primary I just had to run through all children and just return text-value pair object to JavaScript to populate secondary dropdown list. ... read more
Nesting Dictionary items to create lists
Storing and reading nested Dictionary items as lists in Umbraco using API
Recently I wrote an article about workaround for storing lists in Umbraco. I did some googling and Umbraco API exploring since then I found another solution for lists in Umbraco. This solution is relying to Umbraco Dictionary... read more
Faking browser client in HttpWebRequest
Introduce your request to server as a browser request
Using HttpWebRequest to fetch some data in your code from web is the easiest way to do it. However some web locations have restrictions to all only requests which come from browsers. Performing a normal HttpWebRequest will return 403 status code (HTTP 403 - Wikipedia) which means forbidden access... read more
Dictionary lists in Umbraco
Out of the box solution for Dictionary lists in Umbraco
Umbraco implementation of localized values is based on Dictionary which is in settings section of Umbraco back-end. This works pretty fine in case you need to display only string values but does not work localized lists. For example you might want to have country list for your contact form on your website... read more
Using GoogleMaps Directions API to get accurate distance
Example of using GoogleMaps Directions API for calculating the distance
In situations where distance between two geo coordinates needs to be found most of the people are using mathematical function to do this. However there is a major disadvantage in using this method... read more
Restrict Access to an MVC Action or Controller based on IP address
IP Address Filtering in MVC Controller
When you are developing a back-end web application, you might want to restrict access only to people who are working in the company which is maintaining the content or any other operations in the back-end and allowing public access only for the public, usually read-only content. This means you still have to leave some parts of your application public and for some you need to restrict access for the people outside of a network (certain IP range). ... read more
Best practice tips for large scale Umbraco websites
Experience based tips for building large and complex websites in Umbraco
Umbraco is a great CMS, it simple, easily extendible and most important it is free. However, it is not build for large scale websites, since presentation and back-end are on the same machine and all published content is stored in AppData/umbraco.config file. This is good because it can be easily cached and database read is reduced... read more
Automatic property population when node created
Pre-populate properties right after node is created
For pretty much every website I built in Umbraco, there is some sort of title property for page document type. Either it is a title for navigation in breadcrumbs or menu or main h1 page title. Usually some of these properties need to be mandatory and in most cases they are the same as the name of the node in content, but still, you have to keep ability to override the value with these properties. ... read more