August 19, 2017
  1947
Microsoft is changing the positioning and feature set of Nano Server with the coming fall feature release of Windows Server 2016. Here's what to expect.
August 19, 2017
  1965
tl;dr Use Span to work with ANY kind of memory in a safe and very efficient way. Simplify your APIs and use the full power of unmanaged memory! Contents Introduction Introduction C# gives us great flexibility when it comes to using different kinds of memory. But the majority of the developers use only the managed one. Let’s take a brief look at what C# has to offer for us: Stack memory - allocated on the Stack with the stackalloc keyword. Very fast allocation and deallocation. The size of the Stack is very small (usually < 1 MB) and fits well into CPU cache. But when you try to allocate more, you get StackOverflowException which can not be handled and immediately kills the entire process. Usage is also limited by the very short lifetime of the stack - when the method ends, the stack gets unwinded together with its memory. Stackalloc is commonly used for short operations that must not allocate any managed memory. An example is very fast logging of ETW events in corefx: it has to be as fast as possible and needs very little of memory (so the size limitation is not a problem). internal unsafe void BufferRented(int bufferId, int bufferSize, int poolId, int bucketId) { EventData* payload = stackalloc EventData[4]; payload[0].Size = sizeof(int); payload[0].DataPointer = ((IntPtr)(&bufferId)); payload[1].Size = sizeof(int); payload[1].DataPointer = ((IntPtr)(&bufferSize)); payload[2].Size = sizeof(int); payload[2].DataPointer = ((IntPtr)(&poolId)); payload[3].Size = sizeof(int); payload[3].DataPointer = ((IntPtr)(&bucketId)); WriteEventCore(1, 4, payload); } Unmanaged memory - allocated on the unmanaged heap (invisible to GC) by calling Marshal.AllocHGlobal or Marshal.AllocCoTaskMem methods. This memory must be released by the developer with an explicit call to Marshal.FreeHGlobal or Marshal.FreeCoTaskMem. By using it we don’t add any extra pressure for the GC. It’s most commonly used to avoid GC in scenarios where you would normally allocate huge arrays of value types without pointers. Here you can see some real-life use cases from Kestrel. Managed memory - We can allocate it with the new operator. It’s called managed because it’s managed by the Garbage Collector (GC). GC decides when to free the memory, the developer doesn’t need to worry about it. As described in one of my previous blog posts, the GC divides managed objects into two categories: Small objects (size < 85 000 bytes) - allocated in the generational part of the managed heap. The allocation of small objects is fast. When they are promoted to older generations, their memory is usually being copied. The deallocation is non-deterministic and blocking. Short-lived objects are cleaned up in the very fast Gen 0 (or Gen 1) collection. The long living ones are subject of the Gen 2 collection, which usually is very time-consuming. Large objects (size >= 85 000 bytes) - allocated in the Large Object Heap (LOH). Managed with the free list algorithm, which offers slower allocation and can lead to memory fragmentation. The advantage is that large objects are by default never copied. This behavior can be changed on demand. LOH has very expensive deallocation (Full GC) which can be minimized by using ArrayPool.
August 19, 2017
  1824
This week I´ll show you how to deploy your ASP.NET Core Web API to AWS Lambda.
August 19, 2017
  1878
.Net(Cafe) - это цикл мероприятий посвященных технологии .Net Тема нового мероприятия: Introduction of tag helpers in .net core Вместе с Andrey...
August 19, 2017
  1991
Summary Our investment in the .NET networking space will focus in the following areas Foundation: Sockets, SSL, DNS support. Primary Goal: Provide near-native performance and rock-solid reliability...
August 19, 2017
  2049
See what is new in the Visual Studio Code June 2017 Release (1.14)
August 19, 2017
  1607
.NET Core solution management via the command line interface | Joseph Woodward, Software Developer Joseph Woodward Software development, ASP.NET & Architectur
August 19, 2017
  2155
Scott Hanselman on Programming, The Web, Open Source, .NET, The Cloud and More
August 19, 2017
  2014
Scott Hanselman on Programming, The Web, Open Source, .NET, The Cloud and More
August 19, 2017
  1993
Xamarin projects have supported .NET Standard Libraries in both Xamarin Studio and Visual Studio since their original release in order to enable developers to share code more easily. Consuming .NET Standard NuGets and Assemblies is completely seamless, and with Xamarin Studio 6.2, developers can create and open .NET Standard projects. What is .NET Standard? The …

Hot Vacancies

Senior .NET Engineer

DraftKings
.NET

You will be working in a large US-oriented company that puts as a priority: security, performance, and stability. The candidate will work on pushing a huge number of changes (several thousand per sec) to several thousand clients in a near real-time manner.

Middle strong .NET developer

SoftServe
.NET

Our customer is an American company that develops software for businesses to help manage their networks, systems, and information technology infrastructure. The company provides purpose-built products for IT professionals, MSPs, and DevOps pros.

Junior .NET Developer

Chudovo OU
.NET

We are looking for a Junior .Net developer for being involved in to further development of the B2B platform for IT companies. You'll work on mostly back-end tasks closely with a Senior level developer.

Senior Xamarin Developer

Oneview Healthcare
Xamarin

The ideal candidate will have released multiple Xamarin apps commercially and will have a proven track record working as part of a cross functional scrum team. We are seeking proactive, technology focused individuals with best in class development principles. On this team, coding is only part of what we do. Our real focus is on delivery, with backend, frontend and QA working closely together to create, deploy and test solutions. Our solutions will be deployed to a variety of complex environments and used by thousands of hospital patients and staff worldwide. Expect a rewarding and challenging experience.

Middle / Senior Full-Stack .NET developer

Springdel
.NET

The project aims to change the shape of the healthcare market making it easier to find affordable services.