Does it make sense to NGen – compile your ASP.NET MVC application ?

In .Net world every line of code has to be compiled before it can be executed obviously. However the compilation process occurs twice. First the Common Intermediate Language (CIL) is produced out of human readable code and it occurs just after the development process. Then the CIL is compiled into the native code specifically to be interpreted  by the target machine. The letter step occurs on the fly, on client machine and is called the JIT (Just In Time) compilation.

By Mirek on (tags: NGen CIL JIT-compilation, categories: architecture, tools)

Web API : One side object materialization

Recently I’ve been working on a api project where the requirement was that any data on the api service side is plain xml, stored in database as xml type column. No binding and object materialization is done on the server. However the client has to operate on clr objects. I am going to show you the solution I came to.

By Mirek on (tags: Web API, web service, XML, categories: architecture)

Sql Server application roles with Entity Framework Code First Migrations

A time ago I have been writing about the Sql Server application roles, what are the benefits of using them and what are the limitations when we want to incorporate the Entity Framework to use application role. Today I will show you how to workaround those limitations with new Entity Framework facility introduced in version 6 of the framework.

By Mirek on (tags: Application Role, Entity Framework, SQL Server, categories: architecture, code)

TypeScript - a way to embrace the fuzzy world of java script.

What I always dislike in java script was the fuzziness of this language. Very often you didn’t know what type the variable is or if it was an object or a function. I always lack of some strong typing, design time rich intellisense or compile time type checking, which would minimize the possibility of making a bug in the java script code.

By Mirek on (tags: javascript, TypeScript, categories: architecture)