Stand with Ukraine. Save peace in the world!

The National Bank of Ukraine has opened a special fundraising account for donations from international organizations, donors, and people who take care of our common peaceful future.  Help »

stream:// .net


August 21, 2017
  2181
We have a new Rider EAP build for you today. Highlights of this build include performance and memory consumption fixes, Unity support improvements, and F# Interactive, accompanied by a few dozens of bug fixes. Performance fixes Last week, we were … Continue reading →
August 19, 2017
  1738
Scott Addie discusses how to use two new ASP.NET Core tools for building reusable UI components: Tag Helpers and View Components.
August 19, 2017
  1693
Stratis Group releases powerful and user friendly tools for C# developers to build blockchain apps on .Net Core using C#. Learn more at the C# Corner Conference 2017.
August 19, 2017
  2072
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
  2099
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
  1962
This week I´ll show you how to deploy your ASP.NET Core Web API to AWS Lambda.
August 19, 2017
  2006
.Net(Cafe) - это цикл мероприятий посвященных технологии .Net Тема нового мероприятия: Introduction of tag helpers in .net core Вместе с Andrey...
August 19, 2017
  2134
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
  2179
See what is new in the Visual Studio Code June 2017 Release (1.14)
August 19, 2017
  1752
.NET Core solution management via the command line interface | Joseph Woodward, Software Developer Joseph Woodward Software development, ASP.NET & Architectur

Hot Vacancies

.NETBack End Developer

Field Complete
.NET

Field Complete is a team of passionate, young & fun-loving professionals looking to change the uneffective way that Servicing Industry works on US markets. Field Complete is growing really fast. We are looking for a Back End Developer to build a top-level modern API, ready for high load. Strong expertise with:

Senior Xamarin Developer

DraftKings
Mobile

You will join a mobile team which is working on two very exciting projects, Sportsbook and Casino. The apps are used by users in the US, where we are working on the regulated markets. We are releasing apps every two weeks. Our apps are generating almost 75% of the company revenue and the user base is growing daily. Technical stack on the project: Xamarin.Forms, MVVM with DI, NewRelic, Azure + App Center etc. Switching to .Net MAUI in the nearest 2-3 months.

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.