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

Managing .NET deployments through Azure Cloud Shell

Azure Cloud Shell is a browser-based terminal that ships with the Azure CLI, PowerShell modules, Git, Docker, .NET SDKs and a handful of editors already wired up. For developers who spend their day moving assemblies between build servers, App Service slots and container registries, that pre-baked environment removes the usual friction of installing tools across multiple laptops and jump hosts. The shell runs in a Linux container hosted by Microsoft, persists files through an Azure file share, and inherits the permissions of whoever is signed in through the Azure portal.

For engineers working from Sydney, Brisbane or Perth, the appeal is partly about reach. A developer logging in from a regional airport lounge, a coworking space in Melbourne, or a client site in Adelaide can reach the same authenticated, up-to-date command surface without carrying a corporate image on a USB stick. Because the shell is anchored to the Azure control plane in Australia East or Australia Southeast, latency to local resources feels similar to working from a desktop in the office, and data residency stays inside Australian borders for most commands.

Setting up Cloud Shell for .NET workflows

The first practical step is launching the shell from the portal icon at the top of azure.com or pointing a local terminal at shell.azure.com. New users are asked to mount a storage account, which becomes the persistent home directory across sessions. Choosing a resource group in an Australian region keeps file access fast and avoids the cross-region costs that quietly accrue when storage lives in a faraway data centre.

Once the shell is running, the .NET CLI is already on the PATH. A quick dotnet --list-sdks confirms the installed runtimes, and dotnet workload list shows whether the Aspire, MAUI or Azure workloads are present. Most teams keep a small bootstrap script in the mounted file share that installs any missing workloads, configures NuGet sources, and sets environment variables such as DOTNET_CLI_TELEMETRY_OPTOUT so the team works the same way regardless of which engineer opens the shell.

Authentication flows through the browser the first time, after which the token is cached for several hours. For unattended scenarios, such as a scheduled runbook, a service principal or managed identity can be lifted into the session with az login --identity, which keeps credentials out of the terminal history. Teams that already use Microsoft Entra ID with conditional access policies based in Australia can layer their usual sign-in rules over the shell without extra plumbing.

Connecting to subscriptions and tenants

Australian consultancies often juggle multiple tenants: a production tenant for a Sydney-based fintech, a development tenant for an internal sandbox, and a customer tenant accessed through Azure Lighthouse. Cloud Shell supports this neatly through subscription contexts. Running az account list -o table shows every subscription the signed-in identity can see, and az account set --subscription flips between them in seconds.

When a build pipeline needs to publish a .NET artefact into a customer's subscription, the developer usually stores the target subscription ID in an environment variable and references it in deployment scripts. That avoids hard-coding tenant identifiers into source control. For organisations that separate production from non-production using separate Entra ID tenants, the same shell session can target both, provided the user has guest access in each.

Managed identities add another layer of convenience. A self-hosted agent registered with an Australian data centre can authenticate to Azure without storing secrets on disk, and the same identity can be granted AcrPull, Website Contributor and Key Vault access across several resource groups. The combination of shell context switching and identity-based access is one of the quieter productivity wins that large consultancies lean on when ramping new starters.

Pushing builds to App Service and containers

The most common .NET deployment story through Cloud Shell is a zip deploy or a container push. From the shell, dotnet publish produces a self-contained artefact, and az webapp deploy ships it to a configured App Service plan. Slot swapping, which is essential for blue-green releases on a public-facing API, can be triggered with az webapp deployment slot swap, and the same command can be wrapped in a PowerShell function so the team always passes the same flags.

For teams running .NET 8 microservices in containers, the workflow moves through Azure Container Registry. The shell already includes Docker, so az acr login --name authenticates the daemon, and docker push uploads the image. A quick az containerapp up then creates a Container App, configures ingress and pulls the image in a single command, which is handy when prototyping during a hackathon in Brisbane or a client visit in Canberra. Reviewing related material on Azure Data Factory pipelines can highlight similar patterns for moving artefacts between services in adjacent data workflows.

Scaling is configurable from the same shell. az containerapp update with revised min-replica and max-replica counts lets a small dev team match capacity to a sudden spike, such as the traffic surge that hits retail sites after a Melbourne Cup promotion or the late-November sales equivalent that local retailers now run alongside Black Friday.

Handling secrets and configuration

Configuration drift is the silent killer of .NET releases. Through Cloud Shell, environment-specific values can be pulled from Azure App Configuration or Key Vault on demand. az appconfig kv list returns the current values, and az keyvault secret show retrieves a single secret. Pipelines that deploy to Australia East and Australia Southeast regions can keep their secrets in a regional vault to satisfy data residency requirements without redesigning the application.

For local debugging, the same secrets can be exported to an .env file and read by the .NET configuration provider chain. It is worth keeping a personal sandbox Key Vault per developer so test data never crosses into shared infrastructure. Auditing who pulled which secret is straightforward: Azure Monitor captures each access event, and the log can be queried through az monitor log-analytics query.

Another habit worth forming early is using az webapp config appsettings set rather than editing the portal blade. The command is idempotent, repeatable across environments and leaves an audit trail in the deployment log. Treating every configuration change as a script means the next person arriving from a different time zone can replay the same steps without asking for screenshots.

Automating pipelines from the command line

Cloud Shell becomes most valuable when it acts as the control plane for Azure DevOps or GitHub Actions pipelines. az pipelines create builds a multi-stage YAML pipeline from a starter template, and az pipelines run triggers it on demand. That is useful during incident response: an on-call engineer can hot-fix a branch, push it, and queue a deployment from a phone hotspot while waiting for a flight out of Perth.

Within the shell, the http and rest CLI tools round out the .NET story, letting developers probe their own APIs before and after deployment. Combined with az rest calls to invoke Azure REST endpoints, the shell effectively becomes a flexible, scriptable control point for testing changes against staging environments without leaving the terminal. For teams that have standardised on the .NET Aspire orchestration story, the same shell can launch the AppHost project locally while deploying dependent resources to Azure.

Git operations feel familiar because the shell ships with a recent Git client. Cloning an Azure DevOps repo, switching branches, and tagging a release all work as expected, and the persistent file share means clone history does not vanish between sessions. Pairing this with az repos pr create shortens the review handoff for teams spread across AEST and AEDT time zones.

Observability and quick rollback

Once a deployment is live, the shell remains a useful tool for monitoring and recovery. az monitor app-insights query runs Log Analytics queries against Application Insights, surfacing failed requests, dependency failures and custom events. Australian teams that route their telemetry through the Australia East workspace benefit from sub-second query latency, which matters when an SRE is racing against an outage.

Rollback through Cloud Shell is largely a redeploy rather than a revert. Pulling the previous artefact from ACR or App Service package storage, then running az webapp deploy or az containerapp update with the prior image tag, restores service within minutes. Keeping the previous tag in a variable, set during the original deployment, removes the guesswork. It is also wise to keep a one-liner PowerShell script that swaps slots back, since slot swap is reversible but easy to forget when adrenaline is high.

Health probes and auto-heal rules can be tuned from the shell too. az webapp config set toggles always-on, sets health check paths and adjusts the auto-heal triggers that restart a struggling instance. Combined with metric alerts defined through az monitor metrics alert create, the shell gives a small team enough leverage to maintain production-grade .NET workloads without an army of operators.

Comparing Cloud Shell with local tooling

Capability Azure Cloud Shell Local terminal with Azure CLI Self-hosted CI agent
Pre-installed toolchain .NET SDK, Docker, Git, az, pwsh Manual per developer Managed by pipelines
Authentication Browser-based, cached az login or service principal Service principal or managed identity
Persistence Azure file share Local disk Build artefacts
Network latency to AU regions Low, runs in-region Depends on developer location Configurable
Cost Free shell, storage billed None beyond laptop Agent VM billed hourly
Auditability Portal session log Local history file Pipeline run logs
Suitability for sensitive workloads Good with private storage Depends on local controls Excellent when locked down

The table makes clear that Cloud Shell sits between a personal laptop and a fully managed build agent. It is convenient and consistent, while still leaving room for the heavier controls that regulated industries need.

Practical recommendations for Australian .NET teams

  • Keep Cloud Shell storage in an Australian resource group to avoid cross-region traffic and to satisfy local data residency expectations.
  • Treat every Azure CLI command that touches production as code: store it in a script under source control and review it like any other change.
  • Use managed identities rather than storing service principal secrets inside the shell session, especially when working from shared networks at events or client sites.
  • Pin the .NET SDK version in the shell to match what App Service or Container Apps targets, so build outputs match the runtime environment exactly.
  • Schedule az advisor recommendation list runs from the shell so the team gets a digest of cost, security and reliability advice delivered to a shared mailbox.
  • Practice a rollback drill during business hours in AEST, when the most engineers are online, rather than discovering the procedure during an after-hours incident.

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