Category Archives: Microsoft Events

Summarizing Build 2019 + SignalR Service for ASP .NET (Core) Developers

By Shahed C on May 14, 2019

This is the nineteenth of a series of posts on ASP .NET Core in 2019. In this series, we’ll cover 26 topics over a span of 26 weeks from January through June 2019, titled A-Z of ASP .NET Core!

ASPNETCoreLogo-300x267 A – Z of ASP .NET Core!

In this Article:

S is for Summarizing Build 2019 (and SignalR Service!)

For the letter S, I was originally thinking of an article dedicated to SignalR Service. However, Microsoft’s annual Build Conference just happened at the time of this writing. So this week’s post will focus on Summarizing Build 2019 for ASP .NET (Core) Developers, followed by a sneak peek of SignalR Service at the end.

The biggest news for .NET Developers is that .NET Core is the future of .NET, going forward. Furthermore, .NET Core vNext will be named .NET 5, a unified platform for all .NET developers (.NET Framework, Xamarin/Mono and .NET Core).

The GIF below was generated from the .NET Overview session at Build 2019 to illustrate this future:

.NET Roadmap, 2019 and Beyond

.NET Roadmap, from 2014 through 2016, then 2019 and Beyond

Build 2019 for .NET Developers

The quickest to way to catch up on Build 2019 content is to watch all the relevant videos. But how do you know which ones to watch? Well, if you’re a .NET developer, I’ve put together a handy video playlist specifically for .NET Developers (including ASP .NET Core Developers).


Your key takeaways from new announcements should include:

  • .NET Core is the future of .NET: If you’ve already started working with .NET Core, that’s great! If you’re starting a new project, you should consider .NET Core.
  • .NET Framework will continue to be supported: If you have any existing applications on .NET Framework (Windows-only), you can keep those on .NET Framework.
  • .NET Releases will become more predictable: Starting with .NET 5.0, there will be 1 major release every year,  after which each even-numbered release (6.0, 8.0, etc) will come with LTS (Long-Term Support).

In 2019, the expected schedule for .NET Core 3.x is as follows:

  • July 2019: .NET Core 3.0 RC (Release Candidate)
  • September 2019: .NET Core 3.0 (includes ASP .NET Core 3.0)
  • November 2019: .NET Core 3.1 (LTS)

In 2020 and beyond, the expected schedule for .NET Core 5+ is shown below:

  • Early to mid 2020: .NET 5.0 Preview 1
  • November 2020: .NET 5.0
  • November 2021: .NET 6.0 (LTS)
  • November 2022: .NET 7.0
  • November 2023: .NET 8.0 (LTS)

Minor releases (e.g. 5.1, etc) will be considered only if necessary. According to the official announcement, the first preview of .NET 5.0 should be available within the first half of 2020.

NOTE: The upcoming .NET 5.0 should not be confused with the so-called “ASP .NET 5” which was the pre-release name for ASP .NET Core 1.0 before the product was first released in 2016. Going forward, the name of the unified framework is simply .NET 5, without the need for a trailing “Core” in the name.

What’s New in .NET Core 3.0 (Preview 5)

As of May 2019, .NET Core 3.0 is in Preview 5, is expected to be in RC in July 2019, to be followed by a full release in September 2019. This includes ASP .NET Core 3.0 for web development (and more!). For my first look at .NET Core 3.0, you may browse through this earlier post in this series:

The primary themes of .NET Core 3.0 are:

  1. Windows desktop apps: while this is usually not a concern for ASP .NET Core web application developers, it’s good to know that Windows developers can start using .NET Core right away.
  2. Full-stack web dev: Blazor is no longer experimental and its latest preview allows developers to use C# for full-stack web development. More info at: https://blazor.net
  3. AI & ML: Not just buzzwords, Artificial Intelligence and Machine Learning are everywhere. ML.NET 1.0 is now available for C# developers to join this exciting new area of software development. More info at: dot.net/ml
  4. Big Data: .NET for Apache Spark is now in Preview, available on Azure Databricks and Azure HDInsight. More info at: dot.net/spark

For more information on Blazor, you may browse through  this earlier post in this series:

A lot has changed with Blazor in recent months, so the above post will be updated after Core 3.0 is released. In the meantime, check out the official Blazor session from Build 2019.


What’s New in ASP.NET Core 3.0 (Preview 5)

What about ASP .NET Core 3.0 in Preview 5? In the Preview 5 announcement, you can see a handful of updates for this specific release. This includes the following:

  • Easy Upgrade: to upgrade from an earlier preview, update the package reference in your .csproj project file to the latest version (3.0.0-preview5-19227-01)
  • JSON Seralization: now includes support for reading/writing JSON using System.Text.Json. This is part of the built-in JSON support mentioned in the official writeup for .NET Core 3.0 Preview 5.
  • Integration with SignalR: Starting with this release, SignalR clients and servers will now use the aforementioned System.Text.Json as the default Hub protocol. You can read more about this in the SignalR section of the Migration guide for 2.x to 3.0.
  • Continued NewtonsoftJson support: In case you need to switch back to NewtonSoft.Json (previously the default option for the SignalR Hub), the instructions are provided in the aforementioned Migration guide and the announcement. Note that NewtonSoft.Json needs to be installed as a NuGet package.

There has been a lot of development in ASP .NET Core 3.0 in previous Preview releases, so you can refer to my earlier posts in the series for more info:

Here are links to all preview notes if you need a refresher on what was new in each Preview:

NOTE: Changes from each preview to the next is usually cumulative. However, please note that Blazor went from experimental to preview in April 2019, and is now called Blazor on both the client and server. Previously, server-side Blazor was temporarily renamed to Razor Components, but then it was changed back to server-side Blazor.

What’s Next for .NET Core (.NET Core vNext = .NET 5!)

So, what’s next for .NET Core? First of all, the next major version won’t be called .NET Core, as we now know. With the upcoming release of .NET 5, you can now rest assured that all your investment into .NET Core will carry over into the future unified release.

Imagine taking the cross-platform .NET Core and bringing in the best of Mono for a single BCL (Base Class Library implementation). You may recall that .NET Standard was introduced when there were multiple versions of .NET (Framework, Mono/Xamarin and Core). Going forward, .NET Standard will continue to exist and .NET 5 will adhere to .NET Standard.

DotNet5-Layers-Heading

Compare the unified diagram with the various versions of .NET Framework, .NET Core and Mono over the years:

DotNet-VersionHistory

Note that not everything in the world of .NET today will make it into .NET 5. Not to worry though, as there are various recommended alternatives for all .NET developers. Take the following technologies, for example:

  • Web Forms: As you may have noticed, ASP .NET Web Forms have not been ported to ASP .NET Core. Instead of Web Forms, developers may consider Blazor as their choice of web application development.
  • WCF: Although Web API has been included in ASP .NET Core, there is no option for WCF. Going forward, you may use gRPC as an alternative.

Migration Guides for the above scenarios will be provided at a later date.

EF 6.3 for .NET Core, SqlClient & Diagnostics

In addition to ASP .NET Core itself, there are other tools and technologies that may be useful for ASP .NET Core developers. That may include (but is not limited to) the following):

  • Entity Framework 6.3: In addition to the EF Core running on .NET Core, EF 6.x was known to run on the Windows-only .NET Framework 4.x but not on .NET Core. Going forward, EF 6.3 will run on .NET Core 3.0 across platforms.
  • SqlClient: Instead of replacing the existing System.Data.SqlClient package directly, the new Microsoft.Data.SqlClient (available on NuGet) will support both .NET Core and .NET Framework.
  • .NET Core Diagnostic Tools: Making use of .NET Core Global Tools, a new suite of tools will help developers with diagnostics and troubleshooting ofperf issues.

From the tools‘ GitHub page, the following tools are currently available, with the following descriptions:

  • dotnet-dump: “Dump collection and analysis utility.”
  • dotnet-trace: “Enable the collection of events for a running .NET Core Application to a local trace file.”
  • dotnet-counters: “Monitor performance counters of a .NET Core application in real time.”

SignalR Service (Sneak Peek)

Finally, let’s take a quick peek at the all-new SignalR Service.

SignalR-Service-Portal

  • Who can use this: Web developers who want to build real-time features can get started with a variety of official Quickstart guides: ASP .NET Core, JavaScript, C#, Java and REST API

If you’re already familiar with using SignalR, switching to using Azure SignalR Service is as easy as 1-2-3.

  1. Append a call to .AddAzureSignalR() to AddSignalR() in the ConfigureServices() method of your Startup class.
  2. Replace the call to UseSignalR() with a call to UseAzureSignalR() in your Configure() method
  3. Ensure that your environment’s connection string is set correctly for the key “Azure:SignalR:ConnectionString“.

In the ConfigureServices() method, this is what your code should look like:

public void ConfigureServices(IServiceCollection services)
{
   // ...
   services.AddMvc();
   services.AddSignalR().AddAzureSignalR();
} 

In the Configure() method, this is what your code should look like:

app.UseAzureSignalR(routes =>
{
 routes.MapHub<HubClassName>("/HubRouteName");
});

Your connection string (in your environment or User Secrets) may look like the following:

"Azure:SignalR:ConnectionString": "Endpoint=<yourendpoint>;AccessKey=<yourkey>;"

For a detailed tutorial for ASP .NET Core developers, try this official guide:

After the A-Z weekly series is complete, stay tuned for monthly blog posts about cool things .NET developers can do in Azure. This will include a more in-depth look at SignalR Service in a future writeup, including guidance for both web and mobile developers.

References for Build 2019 Announcements

References for SignalR Service

 

ASP.NET Core 2.0 + VS2017

By Shahed C on August 8, 2017

I presented ASP.NET Core 2.0 and Visual Studio 2017 at DC Metro Devs on Tue August 8, 2017. Here is the presentation material with the slides, links and my contact information.

asp-net-logo

Download PPTX or view slideshow below

SlideShare: https://www.slideshare.net/shahedC3000/aspnet-core-20-the-future-of-web-apps

The all-new ASP .NET Core 2.0 introduces some great new capabilities, the ability to host on multiple server platforms, and a number of new tools that you will want to get familiar with. Learn about the future of ASP.NET Core MVC, Web API, Razor Web Pages, .NET Core Tools and Visual Studio 2017!

 

Celebrating 3 Years at Microsoft!

By Shahed C on April 1, 2017

It’s been three years since I joined Microsoft… how did I get here? Before you begin, check out my new Facebook page for developers: Shahed Codes! And then connect with me on LinkedIn!

mslogo Wake Up And Code!

With a background in ASP .NET web application development for enterprise customers, I recently published my first book, “ASP .NET Core Essentials”, via Packt Publishing. You can check it out at the following URL: https://www.packtpub.com/web-development/aspnet-core-essentials

But first, a little history…

Back in 2011, I published a couple of silly little indie games for Xbox 360, using XNA and C# in Visual Studio. While working at my day job, I had gotten a little bored with business applications and decided to teach myself game programming. I made a little profit with my games, including Angry Zombie Ninja Cats.

Ninja Cat Sprite Sheet

Ninja Cat Sprite Sheet

With mixed reviews, the ratings bounced back and forth between 3 stars and 4 stars, and finally settled on approximately 3.5 stars. The game even got a brutally honest review from Indie Gamer Chick, who later invited me to write a couple of dev articles for her website:

The latter article even got republished on Gamasutra:

By 2012, I branched out into make free dev tools for XBLIG indie devs, such as the XNA Sales Data Analyzer and XBLIG Basic Starter Kit. The Sales Data Analyzer tool was received well by the indie media (including my now-colleague Dave Voyles), and was used by XNA developers across the US and around the world! 🙂

statsUS analyticsMap

The first time I ever spoke at a public event was at NoVA Code Camp in 2013, while I was working at Excella Consulting. I joined my colleagues Sahil Talwar and Doguhan Uluca in delivering a 3-part presentation on a complete end-to-end lean web application architecture. Specifically, I talked about Entity Framework Code First Migrations.

Source: https://twitter.com/shahedC/status/326068261336788992

Combining my background in enterprise business applications and indie game development, I decided to start speaking on various topics ranging from ASP .NET to Xbox game development. By 2014, I achieved a triple-achievement with the following:

  1. mentioned in Official Xbox Magazine
  2. selected to received MVP Award
  3. received job offer from Microsoft
Source: Official Xbox Magazine, March 2014, Page 65

Source: Official Xbox Magazine, March 2014, Page 65

The MVP Award for Microsoft is only for members of the community who are not employees of Microsoft, so I gave up the award when I accepted a job offer from Microsoft in March 2014. Since then, I’ve had the chance to work with all sorts of development tools, technology and platforms, including:

All of the above allowed me to start working on customer projects ranging from Xamarin and Azure to ASP .NET Core and IoT. Upcoming projects will include Bot Framework, Cognitive Services and HoloLens! I also got a chance to build an internal Kinect v2 application called Speech Bubbles, which tracks passers-by and displays cartoon bubbles above their heads to follow them around as they continue walking.

I had the opportunity to record 3 courses for Microsoft Virtual Academy with my then-colleague James Quick. The primary topic was Game Development with Construct 2, including the use of Xbox One controllers and the publishing process of getting your game into the Windows Store and the Xbox Store.

mva

Over the years, I’ve had the chance to speak at various community events around the DC/MD/VA region, along the East Coast and even across the US. When Unity Technologies came to town, I hosted their official Unity Roadshow events with Carl Callewaert, Unity’s Global Director of Evangelism. I even took some time off to fly to Barcelona (Spain!) to teach a game dev workshop to a team of King employees. In case you haven’t heard of King, they’re the developers of a popular mobile game called Candy Crush.

carl-unity king

In addition to community events, I’ve delivered talks and mentored students at various hackathons, including: American University, Georgetown University, Gallaudet University, Howard University, University of Maryland @ College Park, University of Maryland @ Baltimore County, James Madison University, Johns Hopkins University, George Mason University, University of Pennsylvania, University of Virginia (UVA), Virginia Polytechnic Institute and State University (Virginia Tech) and Massachusetts Institute of Technology (MIT).

universities

One of these hackathons was HackMIT, where I had the opportunity to join my colleague Gavin Bauman in training a group of HackMIT attendees at the beginning of the hackathon. We also mentored the students throughout the event.

Fast-forward to 2017, I’ve been facilitating the NoVA Code Camp event at the Microsoft office in Reston VA (now twice a year). This community-led event owes its existence to volunteers from the community, including current organizers Ed Snider and Stan Reeser. Past organizers include Tasha Scott and Greg Hurlman.

The following Twitter Moment consolidates the tweets that mention our sponsors and speakers at NoVA Code Camp 2017.1 for Spring 2017:

FB-FindUsOnFacebook-printpackaging-2

I’ve continued to administer and moderate multiple developer groups on Facebook (and a real-life Meetup group):

Hope you found some inspiration in my journey. If you’ve made it this far… check out my previous anniversary blog post from 2016!

 

 

Azure: PaaS vs IaaS @ IT Pro Camp 2016

By Shahed C on October 14, 2016

I presented Azure: PaaS vs IaaS at IT Pro Camp 2016. Here is the presentation material with the slides, links and my contact information. The live talk was similar to my past Azure talks for developers, but presented in different context with IT Pros in mind.

Microsoft Azure Resources

Download PPTX or view slideshow below

SlideShare: http://www.slideshare.net/shahedC3000/azure-paas-or-iaas

Learn more about Azure, Microsoft’s enterprise cloud platform and how you can use PaaS or IaaS features to bring your organization to the cloud!

 

 

Xamarin, Xbox One Dev Mode, Bot Framework and HoloLens @ Reston meetup

By Shahed C on June 17, 2016

I presented Xamarin, Xbox One Dev Mode, Bot Framework and HoloLens at my Reston meetup group, DC-MS-Devs. Here is all the presentation material with the slides, links and my contact information. Each segment covered an overview + demo with input from guest speakers.

items

1 of 4: Intro to Xamarin

Download PPTX or view slideshow below for Intro to Xamarin

SlideShare: http://www.slideshare.net/shahedC3000/intro-to-xamarin-63161570

Xamarin is now a part of Microsoft and is included at no extra charge with any version of Visual Studio, even the free Community Edition! Build mobile apps for iOS, Android and Windows all from Visual Studio using C#!

2 of 4: Xbox One Dev Mode

Download PPTX or view slideshow below for Xbox One Dev Mode

SlideShare: http://www.slideshare.net/shahedC3000/xbox-one-dev-mode-63161595

In addition to Xbox One dev kits for approved developers, anyone can now use a retail Xbox One to develop apps or games for Xbox One! Learn how you can get started today!

3 of 4: Intro to Bot Framework

Download PPTX or view slideshow below for Bot Framework

SlideShare: http://www.slideshare.net/shahedC3000/intro-to-bot-framework

Microsoft’s new Bot Framework allows devs to create intelligent bots to interact with users in a natural way. The possibilities of these new types of technologies get tremendously larger when coupled with Azure Services.

4 of 4: Intro to HoloLens

Download PPTX or view slideshow below for HoloLens

SlideShare: http://www.slideshare.net/shahedC3000/intro-to-hololens

HoloLens dev kits have started shipping! Learn how you can apply for one and get started with the HoloLens Simulator on Windows 10!