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

Deploying a Blazor WebAssembly application to Azure Static Web Apps

Blazor WebAssembly lets .NET developers build rich interactive web experiences entirely in C#, running directly in the browser without server-side rendering. Pairing that framework with Azure Static Web Apps gives teams a managed hosting platform that handles HTTPS, global content delivery, and pull-request preview environments with very little operational overhead. For Australian developers this combination is particularly attractive because the Azure Sydney and Melbourne regions keep latency low for users between Perth and Brisbane, while a static front-end avoids the licensing and infrastructure costs that come with always-on App Service plans.

Before diving into the deployment pipeline, it helps to clarify what each piece of the stack contributes. Blazor WebAssembly delivers the application logic and user interface through a downloadable runtime and a set of DLLs, while Azure Static Web Apps adds the hosting layer, a reverse proxy, free managed certificates, and optional serverless API endpoints backed by Azure Functions. Together they form a development workflow that mirrors how many small teams across Melbourne and Sydney already publish Jamstack-style sites, only with C# in place of JavaScript.

Preparing the project and local tooling

The starting point is a Blazor WebAssembly project targeting .NET 8 or later, although the same flow works with .NET 6 and 7. Open a terminal on your development machine and scaffold the app with the standard template: dotnet new blazorwasm -n Contoso.TradePortal. Restoring packages on Australian home connections can occasionally stall behind certain NBN plans, so configuring the NuGet client with a closer feed, or pointing Visual Studio toward a local package cache, removes one common source of friction. Once the template compiles, run dotnet run and confirm that the counter page and the weather forecast sample both render correctly on localhost.

Next, think about the production build output. Publishing the project with dotnet publish -c Release -o publish produces an optimised bundle with trimmed, ready-to-serve assets. Blazor WebAssembly apps also benefit from compression, so add a wwwroot inspection step to confirm that the runtime DLLs and the blazor.boot.json file are present. Many Australian teams work in regulated industries such as healthcare, mining, or financial services, where the Privacy Act 1988 and the Australian Privacy Principles govern how personal data is handled. Even though a static front-end does not store user records on the server, configuration values baked into the wwwroot folder can leak secrets, so storing connection strings or API keys outside the client payload is essential. Use environment-specific appsettings.json files or Azure App Configuration to keep sensitive data on the server side.

Before pushing anything to a remote repository, create a .gitignore that excludes bin, obj, publish, and the .vs folder. Add a README.md that documents the build command, and commit everything to a new GitHub repository under your organisation. From this point forward Azure Static Web Apps will require a GitHub workflow file, so the clean structure set up here pays off once the pipeline starts generating preview environments.

Creating the Static Web App resource and linking it to GitHub

In the Azure portal, sign in and select Create a resource, then search for Static Web Apps. The wizard asks for a subscription, a resource group, and three deployment details: the source provider (GitHub), the repository, and the branch that should map to production. Australian organisations often prefer the Australia East (Sydney) or Australia Southeast (Melbourne) regions for data residency reasons, particularly when the Notifiable Data Breaches scheme is in scope, although the Static Web Apps service is regional and currently offers these zones for the managed Functions backend. The static content itself is served through the global edge, so end users in Adelaide, Hobart, or Perth still receive cached assets from the nearest point of presence.

Once the resource is created, Azure automatically generates a GitHub Actions workflow file in the repository under .github/workflows. The default file assumes an Angular or React layout, so the next step is to customise it for Blazor. Open the file and locate the build and deploy job step, then adjust the app_location, output_location, and api_location values. For a Blazor WebAssembly project the app_location is typically the project folder, the output_location is wwwroot, and api_location can be omitted unless a Functions backend is present. Save and commit the change; the workflow should trigger a fresh run within seconds.

During the first deployment the workflow installs the .NET SDK, restores packages, publishes the project, and uploads the contents of wwwroot to the Static Web Apps service. The URL of the deployed site appears in the Azure overview blade, in the format https://<random-name>-<hash>.azurestaticapps.net. Open it from a mobile device connected to a Telstra or Optus SIM to confirm that the assembly downloads quickly and the interactive pages work as expected on 4G and 5G networks.

Designing a CI/CD pipeline that suits Australian teams

A continuous integration pipeline is more than a single deployment job. Adding explicit steps for restore, build, and test catches regressions before they reach production, which is especially valuable when engineers contribute from different time zones across Australia, New Zealand, and parts of Asia. Splitting the workflow into separate jobs for build, test, and deploy keeps the YAML readable and lets failed tests block the deployment without affecting the static asset upload.

A typical workflow skeleton looks like this:

name: Azure Static Web Apps CI/CD

on:
  push:
    branches: [ main ]
  pull_request:
    types: [opened, synchronize, reopened, closed]
    branches: [ main ]

jobs:
  build_and_test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-dotnet@v4
        with:
          dotnet-version: 8.0.x
      - run: dotnet restore
      - run: dotnet build --no-restore -c Release
      - run: dotnet test --no-build -c Release

  deploy:
    needs: build_and_test
    runs-on: ubuntu-latest
    if: github.event_name == 'push' && github.ref == 'refs/heads/main'
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-dotnet@v4
        with:
          dotnet-version: 8.0.x
      - run: dotnet publish src/Contoso.TradePortal -c Release -o output
      - uses: Azure/static-web-apps-deploy@v1
        with:
          azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}
          repo_token: ${{ secrets.GITHUB_TOKEN }}
          action: upload
          app_location: src/Contoso.TradePortal
          output_location: wwwroot
          skip_app_build: true

Pull request previews are one of the most underrated features of the service. Every PR automatically receives a temporary URL, allowing reviewers in Brisbane or Perth to interact with the change before merge. After the PR closes, the preview environment is removed, keeping costs predictable.

Adding a custom domain, routing, and authentication

Once the default URL is up, most teams want to attach a real domain. The Static Web Apps blade offers a Custom domain option that walks through CNAME or A record validation. For Australian businesses this is often a com.au or net.au address managed through local registrars such as Netregistry, VentraIP, or Crazy Domains. After pointing the DNS record, the portal provisions a free managed certificate, which removes the operational burden of renewing TLS certificates manually.

Application routing for Blazor WebAssembly relies on the fallback document setting in the staticwebapp.config.json file. Place the file inside wwwroot with contents similar to:

{
  "navigationFallback": {
    "rootPath": "/index.html"
  },
  "globalHeaders": {
    "X-Content-Type-Options": "nosniff",
    "X-Frame-Options": "DENY",
    "Referrer-Policy": "strict-origin-when-cross-origin"
  }
}

Authentication can be wired in without writing code through the built-in providers for Microsoft Entra ID, GitHub, and X. For enterprise customers using Microsoft 365 the Entra ID provider aligns neatly with existing identity infrastructure, and conditional access policies travel with the user. The auth config lives in the same staticwebapp.config.json, and role assignments can be enforced through route-level rules that restrict sensitive areas of the application to specific groups.

Observability, performance, and compliance

After launch, the work shifts to monitoring. Azure Static Web Apps exposes request counts, response codes, and bandwidth through Azure Monitor metrics. For deeper diagnostic data, connect Application Insights by adding a connection string in the staticwebapp.config.json or through a small JavaScript snippet that calls trackPageView from the Blazor component lifecycle. Australian teams bound by the Privacy Act should confirm that telemetry collection does not inadvertently capture personal information, and review the data flow statements required under the Australian Privacy Principles before enabling verbose logging.

Performance tuning focuses on two areas: bundle size and edge delivery. Enabling response compression, turning on Brotli at the edge, and trimming unused assemblies with the .NET trimming tool each contribute to a leaner first load. For Blazor WebAssembly specifically, lazy-loading additional Razor assemblies reduces the initial download, which matters for users on slower NBN satellite services in regional Queensland or Western Australia. Combining these optimisations with a sensible caching policy and a content security policy header produces a site that feels responsive across the continent, from a coworking space in Barangaroo to a home office in Geelong.

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