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

Building Real-Time Solutions with Azure Stream Analytics and C

Modern applications increasingly need to react while data is being created. A factory may need to identify a failing motor before production stops, a connected vehicle may transmit safety telemetry every second, and an online service may need to detect suspicious activity before a transaction is completed. Batch processing remains useful for historical analysis, but it cannot provide these immediate responses.

Azure Stream Analytics offers a managed way to process continuous event streams without maintaining a distributed processing cluster. When it is paired with software written in C, the result can connect low-level devices and sensors with scalable cloud analytics. C is well suited to constrained hardware, while Azure provides the ingestion, filtering, aggregation, and routing capabilities required by larger systems.

This combination is especially relevant to developers exploring Microsoft Azure, Internet of Things solutions, cloud computing, and event-driven architecture. The key is to understand where device code ends, where the stream processing job begins, and how both sides can exchange reliable, meaningful events.

The role of C in a streaming architecture

C commonly runs close to the data source. Embedded controllers, industrial gateways, and lightweight Linux devices can use C libraries to read sensors, format measurements, and send messages to Azure IoT Hub or another event ingestion service. The language offers predictable performance and a small runtime footprint, which are valuable when memory, power, and processor capacity are limited.

A device program should do more than transmit raw values whenever possible. It can attach a device identifier, event timestamp, sequence number, firmware version, and basic quality indicators to each message. Consistent event contracts make the cloud pipeline easier to query and troubleshoot. A simple JSON payload might include temperature, vibration, pressure, and operating mode, while binary encoding may be preferable when bandwidth is restricted.

C code should also account for intermittent connectivity. A production device may need a local buffer, retry logic, exponential backoff, and protection against duplicate delivery. TLS, certificate management, and secure device credentials are essential because a stream is only as trustworthy as the systems producing it. These concerns belong at the edge, before Azure Stream Analytics receives the event.

How Azure Stream Analytics processes events

An Azure Stream Analytics job reads continuous data from inputs such as Azure IoT Hub, Azure Event Hubs, or Blob Storage. It evaluates a SQL-like query against that data and sends results to destinations including Azure Functions, Azure SQL Database, Cosmos DB, Power BI, Data Lake Storage, or another event stream. The managed service handles much of the operational work involved in running a streaming application.

The query language supports filtering, projection, joins, grouping, and temporal windows. A developer might calculate the average motor temperature over five minutes, count failed login attempts within one minute, or select devices whose vibration exceeds a threshold. Instead of waiting for an entire file or database batch, the job continuously evaluates incoming events and emits results as the relevant window advances.

Time semantics deserve careful attention. Event time reflects when something happened at the source, while arrival time reflects when the platform received it. Devices can lose connectivity and upload older messages later, so out-of-order and late-arriving events must be considered. Azure Stream Analytics provides policies for handling late arrival and out-of-order data, but the correct settings depend on the business requirement and the reliability of device clocks.

Designing the path from device to cloud

A practical pipeline often follows this sequence: a C application collects telemetry, Azure IoT Hub authenticates and receives the messages, Azure Stream Analytics transforms the stream, and a downstream service stores or visualizes the results. IoT Hub is useful when device identity, bidirectional communication, and device management are important. Event Hubs is a strong choice for high-throughput event ingestion when device management is handled elsewhere.

The message schema should be stable and versioned. Include units explicitly or document them in the contract; a value of 25 could mean degrees Celsius, degrees Fahrenheit, or an unrelated measurement. Use UTC timestamps, define numeric precision, and decide how missing values are represented. A schema registry or shared contract package can help C developers and cloud developers make compatible changes.

Partitioning affects scale and ordering. Sending events with a consistent device or asset key can keep related records together, allowing meaningful per-device windows and reducing unnecessary cross-partition work. The design should avoid creating one enormous hot partition while still preserving the ordering needed for calculations. Testing with realistic event rates is more dependable than estimating capacity from message size alone.

The following comparison shows how common processing approaches fit different stages of a telemetry solution:

Capability C device application Azure Stream Analytics Batch analytics platform
Primary location Sensor, controller, or gateway Managed cloud service Data lake, warehouse, or cluster
Typical latency Milliseconds at the edge Seconds, depending on flow and configuration Minutes to hours
Main responsibility Capture, enrich, buffer, and transmit Filter, aggregate, detect, and route Historical analysis and large-scale reporting
Strength Low resource use and hardware access Continuous SQL-like processing Deep analysis across retained data
Typical failure concern Network loss and device recovery Late events, checkpoints, and scaling Job duration and storage costs

Writing effective streaming queries

A streaming query should produce a business signal rather than simply repeat the input. For example, a query can group readings by device and use a hopping window to calculate a rolling average. A tumbling window is appropriate when each fixed interval should produce one independent result. A session window is useful when events belong to periods of activity separated by inactivity.

Filtering early reduces unnecessary work. If only high-priority equipment is relevant to a particular output, remove unrelated events before joining or aggregating. Derived fields can standardize units, normalize status values, or classify readings into operating ranges. Clear aliases and consistent naming make queries easier to maintain when multiple technical teams share the same job.

Joins require special care because streaming data does not behave like a static relational table. A stream can be joined with reference data, such as a device configuration stored in Blob Storage, or with another stream over a defined time interval. The time boundary prevents the join from growing without limit. Reference data should be refreshed deliberately, and its update behavior should be tested during a live deployment.

A useful alert query should avoid excessive noise. Instead of generating an alert for every reading above a threshold, it may require three consecutive violations or a sustained condition over two minutes. The output can include the first occurrence, maximum observed value, duration, and recommended severity. This gives downstream applications enough context to act without querying the raw stream for every incident.

Connecting results to applications and operations

Stream Analytics outputs can support dashboards, automated workflows, and durable storage at the same time. Power BI can display near-real-time operational metrics, while Azure SQL Database or Cosmos DB can hold current device state for an application. Azure Functions can react to alert records by opening a ticket, sending a notification, or issuing a command through IoT Hub.

Raw telemetry should usually be retained separately from processed results. A data lake provides a historical source for model training, audits, and investigations. The streaming job can write compact summaries for operational use while another path stores the original events. This separation prevents an operational dashboard from becoming the only record of what happened.

Observability should be designed into the pipeline. Track input and output event counts, query latency, serialization errors, late-event volume, throttling, and checkpoint health. Correlation identifiers allow an engineer to trace a reading from a C application through ingestion and processing to its final destination. Azure Monitor and diagnostic logs can help reveal whether a missing result originated at the device, in transport, or inside the query.

Security also spans every layer. Use per-device identity where possible, limit permissions for each output, encrypt data in transit and at rest, and avoid placing secrets in firmware or source code. Network controls, managed identities, private connectivity, and centralized key rotation can reduce exposure as the deployment grows.

Testing reliability and managing cost

A streaming system should be tested with more than clean, evenly spaced messages. Generate bursts, duplicates, delayed events, malformed payloads, clock drift, device restarts, and temporary network outages. Verify that the C producer reconnects safely and that the cloud job produces acceptable results when events arrive out of order.

Replayable test data is valuable because it permits repeatable comparisons between query versions. Test both normal telemetry and boundary conditions, such as a reading exactly at a threshold or a timestamp at the edge of a window. Load tests should measure throughput, latency, and output correctness together; a fast pipeline that drops important events is not successful.

Cost control starts with an appropriate job size and a sensible event schema. Avoid transmitting fields that provide no analytical value, but do not remove identifiers needed for diagnosis. Aggregate at the edge only when the lost detail is acceptable. Monitor streaming units, storage, egress, and downstream database consumption, since the cheapest processing layer is not always the one with the lowest total cost.

Deployment should be treated as a software release. Keep queries in source control, use infrastructure automation, define configuration outside the code, and maintain a rollback path. A canary group of devices can send data to a new job version before the entire fleet moves over. This approach limits the impact of a flawed query or incompatible schema change.

Practical recommendations for a production design

A strong implementation balances edge efficiency with cloud flexibility. C should handle hardware-specific work, basic validation, and resilient transmission, while Azure Stream Analytics should handle operations that benefit from centralized scale and continuously updated context. Avoid placing complex business rules in firmware unless the device must act without connectivity.

Use the following practices when designing or reviewing the solution:

  • Define a versioned event schema with UTC timestamps, units, identifiers, and sequence information.
  • Use IoT Hub for managed device identity and command paths, or Event Hubs for high-volume event ingestion.
  • Choose tumbling, hopping, or session windows according to the business meaning of time.
  • Measure late events, duplicate messages, query latency, and output failures as first-class operational metrics.
  • Store raw events for investigation while sending compact, actionable results to operational systems.

The most effective architectures also document failure behavior. Specify what happens when a device cannot reach Azure, when a message is duplicated, when reference data is unavailable, and when an output destination is temporarily offline. Explicit decisions make recovery predictable and help teams distinguish a true business alert from a pipeline fault.

A session on stream processing at the C# Corner Annual Conference 2020 can provide valuable context for these design choices, particularly for developers connecting C-based edge applications with Microsoft Azure services. Explore the conference speakers and technical agenda to deepen your understanding of real-time analytics, cloud architecture, IoT messaging, and event-driven development, then apply those patterns to a small telemetry prototype before expanding to production.

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