InfoQ Homepage Microsoft Content on InfoQ
-
Implementation Strategies for the Repository Pattern with Entity Framework, Dapper, and Chain
This article will focus on the basic functionality that one would find in a typical repository created with .NET. We’ll look at both general functionality and how that functionality would be implemented using three different styles of ORM: Entity Framework, Dapper, and Tortuga Chain.
-
On Abstractions and For-Each Performance in C#
Donald Knuth famously said, “We should forget about small efficiencies, say about 97% of the time”. But when faced with the other 3%, it is good to know what’s going on behind the scenes. So in this article we’ll be taking a dive into the foreach loop.
-
Designing with Exceptions in .NET
Exceptions are an integral part of working with .NET, but far too many developers don’t think about them from an API design perspective. Most of their work begins and ends with knowing which exceptions they need to catch and which should be allowed to hit the global logger. You can significantly reduce the time it takes to correct bugs if you design the API to use exceptions correctly.
-
Introduction to SQL Server Containers
Containers are just around the corner for the Windows community, and this article takes a closer look at using SQL Server containers. The author discusses the value, use cases, and means for taking advantage of SQL Server containers today.
-
Getting Started with ASP.Net Performance Monitoring and Optimization
“This web page is slow” is a common and regular complaint about web sites, especially since web applications started replacing desktop applications. While the web brings some desirable characteristics such as global delivery, it also brings its share of challenges at the performance level.
-
Creating RESTful Services with T4 Based on Model and Interfaces
When generating RESTful services with WebAPI, a lot of boilerplate code has to be implemented. Amel Musić demonstrates how T4 and EnvDTE can be used to create a flexible code generator that dramatically reduces the amount of time and effort this takes.
-
Starcounter vs. ORM and DDD
The so-called “object-relation impedance mismatch” has long been discussed in engineering circles. Most attempts at a solution rely try to mask the issue by pulling logic into the application tier. Kostiantyn Cherniavskyi looks at these issues and shows how many of them can be solved with hybrid databases such as Starcounter.
-
F# in Numbers: A Look at the Annual F# Survey Results
In April, for the second time, fsharpWorks organized the F# community survey. Over 600 developers completed the survey in 2016 (which is 15% more than in 2015). The survey provides an insight into the brains of the F# community. In this article, I'll summarize some of the results.
-
HTTP-RPC: A Lightweight Cross-Platform REST Framework
HTTP-RPC is an open-source framework allowing developers to create and access cross-platform polyglot RESTful web services using a convenient, RPC-like metaphor, while preserving fundamental REST principles such as statelessness and uniform resource access.
-
Virtual Panel: The Current State of Integration Platform as a Service (iPaaS)
Integration Platform as a Service (iPaaS) is becoming a mainstream way of connecting mobile, SaaS, IoT, and Big Data systems. This Virtual Panel focuses on some of the current trends in iPaaS and where this model of delivering integration services is headed. InfoQ has reached out to thought leaders from MuleSoft, SnapLogic and Microsoft to participate in this dialogue.
-
C#/Web API Code Generation Patterns for the RAML User
In this article, Jonathan Allen outlines the design patterns that users of REST specification languages such as RAML, Swagger, and API Blueprint should adhere to when generating code for C# and ASP.NET Web API. This includes topics such as model validation, async support, and request cancellation.
-
Big Memory .NET Part 2 - Pile, Our Big Memory Solution for .NET
In part one, Leonid Ganeline introduced the concept of big memory and discussed why it is so hard to deal with in a .NET environment. In part two, Dmitriy Khmaladze describes their solution NFX Pile; a hybrid memory manager written in C# with 100% managed code.