New to site?


Lost password? (X)

Already have an account?


(X)

Presents

#CSHARPCON20

The C# Corner Annual Conference 2020 is a three-day annual event for software professionals and developers.

3
DAYS
72
SPEAKERS
65
SESSIONS

Magnus Mårtensson
Microsoft Regional Director, Azure MVP, CEO Loftysoft

Avirag Jain
Director & CTO R Systems

Mahesh Chand
Founder C# Corner, CEO Mindcracker

Chris Gali
CEO & Co-Founder Graphite

Subinder Khurana
Chief Architect StoryProcess, Founder NASSCOM DeepTech Club

Bryan Rishforth
Investor, Chairman Graphite

Bryn Everson
Director Biz Dev Graphite

Raj Tiwari
Digital Transformation Leader, Futurist and Visionary

Joseph Guadagno
Microsoft MVP, Lead Quicken Loans

Nikita Sachdev
Entrepreneur, Blockchain Enthusiast & Advisor, Social Media Influencer

Doug Wagner
COO & Founder Adapt Technical Group

Ritesh Modi
Architect, Senior Evangelist, Cloud Architect

Crystal Wenrick
Director Communications Mindcracker

Allen O’Neill
Microsoft MVP, Consulting Engineer/Architect

Praveen Kumar
CEO MCN Solutions

Chris Love
Founder Love2Dev, Microsoft MVP, Author

Sanjay Vyas
Microsoft Regional Director, Microsoft MVP, Founder & CEO SkillLabs Technologies

Veena Sarda
Deep Learning Consultant, Author

Sekhar Srinivasan
C# Corner MVP, Microsoft Certified Trainer, Pluralsight Author

Lalit Bansal
Founder & CEO - EIY SYS

Navdeep Garg
CEO Revinfotech

Prakash Tripathi
Tech Manager/Leader, Microsoft MVP, Blogger

Bhavna Jain
Breakthrough Consultant

Naveen Sharma
Enterprise Architect, Leadership Coach, Author

Vidya Vrat Agarwal
Principal Architect, Microsoft MVP, Author

Sheetal Agarwal
Founder Clownselors, Medical Clown, Trainer

Abhishek Kant
Founder GTM Catalyst

Vishnu Saran
Founder & CEO VoiceQube

Sandeep Soni
Founder & CEO Deccansoft, Microsoft Certified Trainer

Parveen Malik
AVP InfoSec & Vulnerability Management, Information Security Expert

Nitin Pandit
Microsoft MVP, Developer Evangelist, Author

Niloshima Srivastava
C# Corner MVP, Tech Architect, Trainer, Blogger

Bala Chirtsabesan
Senior Software Engineer at Microsoft, Author

Manoj Mittal
Sr. Technical Architect, C# Corner MVP, Author

Chandni Di
Co-Founder Voice of Slum

Vithal Wadje
Technical Lead, Microsoft MVP, Author

Shivam Ahuja
Founder SkillCircle, Business Mentor

Chervine Bhiwoo
Solution Architect, Microsoft MVP, Author

Saurabh Jain
Vice President Paytm, Founder Fun2Do Labs, Author

Vinay Solanki
Head IoT at Lenovo, Founder IoT-NCR

Anshu kumari
Founder Blockchainkids, Inventor, Trainer

Amit Singal
CEO Startup Buddy

Dev Pratap
Co-Founder & CEO Voice of Slum

Amey Vartak
Technology Consultant, Full Stack Developer, C# Corner MVP, Author

Viswanatha Swamy
Principal Software Engineer, C# Corner MVP, Author

Sanket Verma
Research Engineer @ Ballistics (Forensics) and Chair, PyData Delhi

Sourabh Somani
Lead Developer, Microsoft MVP, Author

Abhishek Mishra
Software Architect, C# Corner MVP, Author

Siddharth Vaghasia
Technical Consultant, C# Corner MVP, Blogger

Bassam Alugili
Senior Software Specialist, Database Expert

S Ravi Kumar
Solution Architect, C# Corner MVP, Author

Sundaram Subramanian
Full Stack Developer, C# Corner MVP, Speaker

Deepesh Somani
Solution Architect, Microsoft MVP, Author

Debasis Saha
Technical Project Manager, C# Corner MVP, Blogger, Author

Vipul Jain
Software Architect, C# Corner MVP, Author

Akshay Patel
Technical Architect, Microsoft Certified Trainer, C# Corner MVP, Author

Stephen Simon
RPA Developer, Evangelist, Author

Vivek Sharma
Founder Kingster636, AR/VR Specialist

Jeetendra Gund
Technical Lead, C# Corner MVP, Author

Sujal Beniwal
AI Enthusiast, Student

M Viknaraj
Microsoft MVP, Azure Architect, Author

Prasham Sabadra
Software Architect, C# Corner MVP, Trainer, Author

Aakash Maurya
Senior Developer, C# Corner MVP, Speaker

Ankit Sharma
Senior Software Engineer, C# Corner MVP, Author

Mangesh Gaherwar
Team Lead, C# Corner MVP, Author

Viral Jain
Technical Consultant, C# Corner MVP, Author

Bhasker Das
Solution Architect, Evangelist

Manish Dwivedi
Associate Project Manager

Ck Nitin
Programmer, Author

Rohit Gupta
Technical Trainer, Author

Manish Tewatia
Full-stack Marketer, UX Designer

Bhavya Gaur
Technical Illustrator

Rohit Tomar
SEO/SMO Expert

Web Track

Cloud & Data Track

Dev Track

8am-9am

Registration & Breakfast

9am-10am

Future of Desktop Apps with JS (ElectronJs)

Nitin Pandit

Building Serverless Microservices Using Microsoft Azure

Vithal Wadje

Innovating RPA: A Robot for Every Person

Stephen Simon

10am-11am

Managing Cloud Storage Accounts using Logic Apps

Viknaraj Manogararajah

Data visualization using Python

Sekhar Srinivasan

Going Cross platform with AR Foundation

Vivek Sharma

11am-12pm

Keynote

12pm-1pm

Managing your Azure dependencies in ASP.NET Core apps using VS

Bala Chirtsabesan

Securing Applications on Intelligent Azure

Abhishek Mishra

Getting started with Blazor the Framework of Future

S Ravi Kumar

1pm-2pm

Lunch

2pm-2:45pm

Build Progressive Web Apps using Angular 9

Debasis Saha

Build and deploy to any platform using Azure DevOps

Chervine Bhiwoo

Deep Dive in Azure Service Bus

Akshay Patel

2:45pm-3:45pm

Build a Native Mobile Application using React Native and JavaScript

Joseph Guadagno

Making sense of Web Job, Web Job SDK and Functions in Azure

Prakash Tripathi

CloudFront Distribution in AWS

Viral Jain

3:45pm-4pm

Tea Break

4pm-4:30pm

Introduction to PowerBI

Aakash Maurya

Build Advanced SPFx solutions with React and Graph API

Siddharth Vaghasia

Build Business Intelligence Analyst (BIA) Skills

Sundaram Subramanian

4:30pm-5pm

Deep dive of Power Platform – AI BUILDER

Prasham Sabadra

Panel 1

What's new in SharePoint development

Vipul Jain

5pm-5:30pm

Build a SSO (Single Sign On) based Native JavaScript application with Microsoft Identity within 10 minutes

Manoj Mittal

Panel 2

Applications and working of AI

Veena Sarda

5:30pm-6pm

Deploying serverless API's with .Net core 3.0 on AWS & Azure

Amey Vartak

Panel 3

Blockchain with .NET Core (Ark)

Anshu Kumari

6pm-6:30pm

Closing Note & Prize Distribution

Dev Track

Cloud Track

Architecture Track

Emerging Tech Track

8am-9am

Registration & Breakfast

9am-10am

Creating Full-Stack Web Apps Using Server-Side Blazor

Ankit Sharma

Real time face recognition with MS Cognitive Services

Niloshima Srivastava

Building Scalable APIs with GraphQL

Jeetendra Gund

Future of development with AI and Blockchain

Navdeep Garg

10am-11am

Debugging Tips and Tricks with Visual Studio 2019

Joseph Guadagno

Azure Containers

Abhishek Kant

Enterprise Architecture

Naveen Sharma

Bot Framework - learn it fast and look like a boss!

Allen O’Neill

11am-12:30pm

Keynote

12:30pm-1:30pm

.Net Core & C# 8 Performance

David McCarter

Working with Azure kubernetes services

Ritesh Modi

Becoming an Architect

Vidyavrat Agarwal

Why Techies Need to Learn Product Management

Saurabh Jain

1:30pm-2:30pm

Lunch

2:30pm-3:30pm

Build a rules engine in .Net Core

Sanjay Vyas

Building CI and CD Pipeline using Azure DevOps

Sandeep Soni

Entity Framework Core - Tips and Tricks, Performance Optimization, and Tuning

Bassam Alugili

Hacking your way into Data Science

Sanket Verma

3:30-4:15pm

Speed up your .Net Core Website

Sourabh Somani

Azure

Magnus Mårtensson

Demystifying Open Distro for Elasticsearch

Suman Debnath

Future of Data

Shivam Ahuja

4:15pm-4:30pm

Tea Break

4:30pm-5:15pm

gRPC with C# and .Net Core

Mangesh Gaherwar

Panel 1

Essentials of Cloud security

Parveen Malik

Power platform and Dynamics 365

Deepesh Somani

5:15pm-6pm

Microservices - the gRPC Way

Viswanatha Swamy

Panel 2

Reserved

Reserved

6pm-6:30pm

Closing Note & Prize Distribution

Choosing the Right JSON Serializer for Modern .NET

JSON serialization sits on the critical path of many .NET applications. APIs convert objects into response bodies, message brokers carry JSON events, and background services repeatedly parse configuration or telemetry documents. The serializer therefore affects more than raw speed: it also influences memory use, compatibility, security, and the amount of code required to handle real-world data.

The two most familiar choices are System.Text.Json, included with modern .NET, and Newtonsoft.Json, often called Json.NET. Both can serialize and deserialize common C# models reliably, but their internal designs and feature sets differ. A useful comparison must examine throughput, allocations, startup behavior, customization, and the shape of the data being processed.

This topic is especially relevant to developers working across cloud services, web platforms, data systems, and DevOps pipelines. A serializer that performs well for small HTTP responses may behave differently when processing large documents or sustained event streams. The right decision comes from measuring the workload rather than relying on a universal winner.

How The Two Libraries Approach JSON

System.Text.Json was designed as a modern, high-performance JSON framework for .NET. It uses UTF-8 internally, integrates closely with the runtime, and supports APIs that can read from and write to spans, streams, pipes, and buffers. Recent .NET releases have expanded its support for custom converters, polymorphism, required members, contract customization, and JSON documents.

Its default behavior favors predictable, standards-oriented processing. It is generally strict about malformed JSON and has clear options for naming policies, ignored properties, number handling, comments, and trailing commas. Source generation can reduce reflection costs by producing serialization metadata at build time, which is particularly useful for trimmed, native, mobile, or serverless applications.

Newtonsoft.Json is a mature and highly extensible library with a broad ecosystem. It supports flexible contract resolution, LINQ to JSON, dynamic data, custom binders, legacy conventions, and many compatibility switches accumulated over years of production use. Applications that need unusual property rules or must preserve behavior from older .NET Framework systems often find its flexibility valuable.

The difference is therefore architectural as well as numerical. System.Text.Json emphasizes runtime efficiency and platform integration, while Newtonsoft.Json emphasizes compatibility and customization. Neither characteristic automatically makes one library suitable for every application.

Where System.Text.Json Usually Leads

For ordinary object graphs, System.Text.Json commonly delivers higher throughput and fewer allocations on current .NET versions. Its use of UTF-8 and optimized runtime paths can reduce the work involved in converting between strings, bytes, and model properties. This advantage is most visible in high-volume APIs, message consumers, and services that repeatedly process similar DTOs.

Source-generated serialization can improve the result further. Instead of discovering type metadata through reflection at runtime, the application can generate a serialization context during compilation. That reduces startup overhead and can make behavior more predictable in environments where reflection access is restricted. The benefit is strongest for stable models that are known during development.

The library is also a natural fit for ASP.NET Core. Framework integrations, formatters, and configuration patterns are readily available, and the default serializer has improved with each .NET release. Teams that begin a new application on current .NET often avoid an additional dependency while receiving strong baseline performance.

However, the word “faster” needs context. A benchmark using tiny flat objects may show a dramatic difference that becomes less important when network latency, database access, compression, or business logic dominates the request. Conversely, a service processing millions of messages per minute may gain substantially from even modest reductions in CPU time and garbage collection pressure.

Why Newtonsoft.Json Remains Important

Newtonsoft.Json continues to be a practical choice when an application depends on advanced JSON behavior. Its support for flexible contract resolvers, custom naming rules, extension data, reference handling, and dynamic JSON manipulation can shorten implementation time. It is also familiar to many .NET developers, which reduces training and migration costs.

LINQ to JSON is a major distinction. JObject, JArray, and related APIs allow developers to inspect or modify documents without defining a complete set of C# classes. System.Text.Json provides JsonDocument and JsonNode for similar scenarios, but existing code may rely heavily on Newtonsoft.Json’s query and mutation model.

Compatibility is another strong reason to retain Json.NET. Older systems may depend on subtle behaviors involving null values, dates, type names, missing members, or polymorphic objects. Replacing the serializer can change wire output or deserialization results even when the C# models remain unchanged. Such changes can break clients, persisted documents, signatures, or integration tests.

Newtonsoft.Json is not automatically slow. For many workloads, its performance is entirely adequate, and careful settings can prevent unnecessary overhead. It may be the economical choice when the difficult part of a project is representing irregular or legacy JSON rather than maximizing requests per second.

Benchmarking Throughput And Memory

A useful benchmark should measure both serialization and deserialization. Serialization converts objects into UTF-8 bytes or strings, while deserialization reconstructs objects from input. The two operations can have different bottlenecks, especially when converters, nested collections, or polymorphic models are involved.

The test should include representative payloads: small API DTOs, medium nested objects, large arrays, optional properties, dates, dictionaries, and any unusual numeric or textual values used in production. Warm-up iterations should separate JIT compilation from steady-state execution, and several target frameworks should be tested if the application may move between .NET versions.

BenchmarkDotNet is a strong choice for this work because it reports operations per second, elapsed time, allocated bytes, and other runtime statistics. Tests should keep serializer options equivalent wherever possible. A naming policy, indentation, case-insensitive matching, or reference preservation setting can change results substantially.

Area System.Text.Json Newtonsoft.Json Practical Meaning
Typical throughput Often higher for standard models Usually adequate, sometimes lower System.Text.Json can reduce CPU use in hot paths
Allocations Often lower, especially with UTF-8 APIs Can allocate more intermediate objects Lower allocation may reduce garbage collection
Startup and trimming Strong with source generation More reflection-oriented System.Text.Json suits serverless and trimmed apps
Dynamic JSON JsonDocument and JsonNode available JObject and JArray are mature Newtonsoft may be easier for highly irregular documents
Custom contracts Improving through converters and contract APIs Very broad and established Json.NET remains attractive for unusual rules
Legacy compatibility May require behavior changes Strong for existing Json.NET applications Migration needs wire-format testing
ASP.NET Core integration Built in by default Supported through configuration The platform default minimizes setup

Memory results deserve as much attention as throughput. A serializer that completes quickly but allocates heavily can trigger more frequent garbage collections under sustained load. Large payloads may also expose the cost of materializing strings or DOM nodes. When possible, benchmark byte-oriented APIs and streaming approaches instead of measuring only convenience methods that create intermediate strings.

For cloud systems, these measurements connect directly to operating cost. A service that uses fewer CPU cycles may need fewer instances, while lower allocation rates can stabilize latency during traffic spikes. In a distributed event-processing system, efficient parsing can be particularly important; experience from real-time pipeline design shows why serialization choices should be evaluated as part of the entire data path rather than in isolation.

Feature Differences That Affect Migration

The most visible migration issues involve naming and null handling. System.Text.Json uses case-sensitive property matching by default during deserialization, although case-insensitive matching can be enabled. Naming policies also need to be configured explicitly. Newtonsoft.Json applications may have accumulated attributes or global settings that produce different casing, default values, or date representations.

Custom converters require careful review. Both libraries support converters, but their APIs and supported scenarios differ. A converter written for Json.NET cannot simply be transferred to System.Text.Json. It may need to account for Utf8JsonReader and Utf8JsonWriter, which can improve efficiency but require a different programming style.

Polymorphism deserves dedicated tests. Systems that serialize base classes, interfaces, or heterogeneous collections may depend on type discriminators or legacy type metadata. System.Text.Json has added explicit polymorphism features, but secure and predictable configuration is essential. Blindly accepting runtime type names from untrusted JSON is dangerous in any serializer.

The same caution applies to reference loops and object identity. Newtonsoft.Json offers established settings for preserving references and handling loops, while System.Text.Json has its own reference-handling options. These settings can alter the wire format, so a migration should compare actual payloads rather than only checking whether objects round-trip in isolated unit tests.

Security And Operational Considerations

A JSON library is part of an application’s input boundary. Deserialization should use narrow, intentional models whenever possible, and untrusted data should not be allowed to select arbitrary runtime types. Type metadata, permissive converters, excessive depth, and very large payloads can create security or availability risks.

Resource limits matter in production. Configure request size limits, cancellation behavior, maximum depth where appropriate, and streaming patterns for large documents. A fast serializer cannot compensate for an endpoint that accepts unlimited nested input or builds a full in-memory representation when only a few fields are needed.

Dependency maintenance is another factor. System.Text.Json is serviced with the .NET platform, while Newtonsoft.Json is maintained as a separate package with its own release lifecycle. Both should be kept current and monitored for advisories. The best operational choice is the library that the team can configure, patch, observe, and test consistently.

Teams should also record serialization settings as part of an API contract. Changes to ignored properties, enum formatting, date handling, or naming conventions can be breaking changes even when no method signature changes. Logging representative payload metadata, latency, allocation behavior, and error rates helps identify whether serialization is actually a production bottleneck.

Making A Practical Selection

For a new ASP.NET Core service using conventional DTOs, System.Text.Json is usually the sensible starting point. It offers strong default performance, first-party integration, source-generation options, and a smaller dependency footprint. It is particularly compelling for high-throughput endpoints, cloud-native workers, and services that need predictable startup behavior.

Newtonsoft.Json is a better fit when the application depends on its mature dynamic document model, complex contract customization, or established wire-format behavior. Keeping it can be safer than forcing a migration that introduces subtle compatibility failures. A library should earn replacement through measurable benefits, not fashion.

A mixed strategy can also work. The application may use System.Text.Json for HTTP APIs and high-volume messages while retaining Newtonsoft.Json for a specialized legacy integration. This approach requires clear boundaries and consistent documentation, because developers must know which attributes, converters, and settings apply to each path.

Use the following decision rules when evaluating a real project:

  • Choose System.Text.Json for new standard model-based services on current .NET.
  • Enable source generation when models are stable and startup, trimming, or allocation behavior matters.
  • Retain Newtonsoft.Json when dynamic JSON, legacy contracts, or advanced customization drives the design.
  • Benchmark representative payloads with both libraries before changing a high-volume production path.
  • Add compatibility tests for naming, nulls, dates, enums, polymorphism, and reference handling during migration.

A controlled migration can begin with one endpoint or message type. Capture existing JSON fixtures, compare serialized output, replay real deserialization cases, and monitor latency and allocation changes in a staging environment. This creates evidence about the application’s actual behavior instead of assuming that a library-wide benchmark predicts every result.

The choice between these serializers is ultimately a design decision about performance, compatibility, and maintainability. Start with the platform default when it meets the contract, preserve Newtonsoft.Json where its capabilities protect working integrations, and let measured workload data settle the trade-off. Review the relevant conference sessions and technical material, then apply the benchmark approach to a representative .NET service before committing to a broad change.

The Leela Ambience Convention Hotel

1, CBD, Maharaj Surajmal Road, Near Yamuna Sports Complex, Delhi, 110032

KNOW MORE

GENERAL QUERIES


Manish Tewatia

+91-9718-431-042

TICKET QUERIES


Atul Gupta

+91-9910-125-804