Tumgik
#LATEST ASP.NET CORE 2.2 FEATURES
webitgurus · 5 years
Link
ASP.NET Core employs open-source technology with a cross-platform framework. With its help, ASP.NET developers to create highly scalable and performance-oriented web applications. Here, in this write-up, we will divert our attention to some of the latest features in ASP.NET Core 2.2 that can take your web and cloud applications to the next level of success.
The great news is that it contains the most up to date versions of web pages, .NET MVC, Web API, and SignalR that can be employed to work independently in the same application. This very reason makes ASP.NET Core as the next generation development platform.
In the forthcoming sections of this write-up, we will look at the latest ASP.NET Core 2.2 features that take your ASP.NET web development to the next level of success. We promise after reading this piece of content; you will be in a far better position to understand the significance of ASP.NET in the
Original Source: https://www.asiaradiosales.com/latest-asp-net-core-2-2-features/
0 notes
Text
What Are The Important Characteristics Of ASP.NET Core To FormContemporary Web And Cloud Applications?
Tumblr media
The ASP.NET is considered to be an important cross-platform and open-source framework that is mostly used by the ASP.NET Development Company. This framework also enables the development teams so that they can easily create scalable and high-performance web applications.
Not only has that, but the completely new features of the ASP.NET Core 2.2 also brought together the best elements of the old .NET framework.
It also comprises of the latest versions of Web API, .NET MVC, SignalR and Web Pages that specifically allows you to use them in the same application independently.
This is the main reason, why, the ASP.NET Core is considered to be a next-generation development platform.
Cross-Platform Functionality: The .NET Core is the best choice at the time of targeting Mac OS, Unix or Linux systems.
Enhanced Performance: The ASP.NET Core is involved in giving an enhanced performance which surpasses the classic ASP.NET by a factor of 10.
Integrated Dependency Injection: The dependency injection is considered to be an important part of development as it allows for better code testability and weak coupling.
A completely new architecture that is related to the dependency injection is also effectively combined by the framework.
Final Words
So, these are some of the important characteristics of the ASP.NET Core which helps to shapethe contemporary web as well as cloud applications and the business software development company should be well aware of these.
For further information about experienced web application developers, visit this website.
Read more articles about Android Development Company here at - https://topsitenet.com/article/300118-what-are-the-important-things-to-know-about-android-development-company/
0 notes
philipholt · 5 years
Text
Setting up Azure DevOps CI/CD for a .NET Core 3.1 Web App hosted in Azure App Service for Linux
Following up on my post last week on moving from App Service on Windows to App Service on Linux, I wanted to make sure I had a clean CI/CD (Continuous Integration/Continuous Deployment) pipeline for all my sites. I'm using Azure DevOps because it's basically free. You get 1800 build minutes a month FREE and I'm not even close to using it with three occasionally-updated sites building on it.
Last Post: I updated one of my websites from ASP.NET Core 2.2 to the latest LTS (Long Term Support) version of ASP.NET Core 3.1 this week. I want to do the same with my podcast site AND move it to Linux at the same time. Azure App Service for Linux has some very good pricing and allowed me to move over to a Premium v2 plan from Standard which gives me double the memory at 35% off.
Setting up on Azure DevOps is easy and just like signing up for Azure you'll use your Microsoft ID. Mine is my gmail/gsuite, in fact. You can also login with GitHub creds. It's also nice if your project makes NuGet packages as there's an integrated NuGet Server that others can consume libraries from downstream before (if) you publish them publicly.
I set up one of my sites with Azure DevOps a while back in about an hour using their visual drag and drop Pipeline system which looked like this:
There's some controversy as some folks REALLY like the "classic" pipeline while others like the YAML (Yet Another Markup Language, IMHO) style. YAML doesn't have all the features of the original pipeline yet, but it's close. It's primary advantage is that the pipeline definition exists as a single .YAML file and can be checked-in with your source code. That way someone (you, whomever) could import your GitHub or DevOps Git repository and it includes everything it needs to build and optionally deploy the app.
The Azure DevOps team is one of the most organized and transparent teams with a published roadmap that's super detailed and they announce their sprint numbers in the app itself as it's updated which is pretty cool.
When YAML includes a nice visual interface on top of it, it'll be time for everyone to jump but regardless I wanted to make my sites more self-contained. I may try using GitHub Actions at some point and comparing them as well.
Migrating from Classic Pipelines to YAML Pipelines
If you have one, you can go to an existing pipeline in DevOps and click View YAML and get some YAML that will get you most of the way there but often includes some missing context or variables. The resulting YAML in my opinion isn't going to be as clean as what you can do from scratch, but it's worth looking at.
In decided to disable/pause my original pipeline and make a new one in parallel. Then I opened them side by side and recreated it. This let me learn more and the result ended up cleaner than I'd expected.
The YAML editor has a half-assed (sorry) visual designer on the right that basically has Tasks that will write a little chunk of YAML for you, but:
Once it's placed you're on your own
You can't edit it or modify it visually. It's text now.
If your cursor has the insert point in the wrong place it'll mess up your YAML
It's not smart
But it does provide a catalog of options and it does jumpstart things. Here's my YAML to build and publish a zip file (artifact) of my podcast site. Note that my podcast site is three projects, the site, a utility library, and some tests. I found these docs useful for building ASP.NET Core apps.
You'll see it triggers builds on the main branch. "Main" is the name of my primary GitHub branch. Yours likely differs.
It uses Ubuntu to do the build and it builds in Release mode. II
I install the .NET 3.1.x SDK for building my app, and I build it, then run the tests based on a globbing *tests pattern.
I do a self-contained publish using -r linux-x64 because I know my target App Service is Linux (it's cheaper) and it goes to the ArtifactStagingDirectory and I name it "hanselminutes." At this point it's a zip file in a folder in the sky.
Here it is:
trigger: - main pool: vmImage: 'ubuntu-latest' variables: buildConfiguration: 'Release' steps: - task: UseDotNet@2 displayName: ".NET Core 3.1.x" inputs: version: '3.1.x' packageType: sdk - task: UseDotNet@2 inputs: version: '3.1.x' - script: dotnet build --configuration $(buildConfiguration) displayName: 'dotnet build $(buildConfiguration)' - task: DotNetCoreCLI@2 displayName: "Test" inputs: command: test projects: '**/*tests/*.csproj' arguments: '--configuration $(buildConfiguration)' - task: DotNetCoreCLI@2 displayName: "Publish" inputs: command: 'publish' publishWebProjects: true arguments: '-r linux-x64 --configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)' zipAfterPublish: true - task: PublishBuildArtifacts@1 displayName: "Upload Artifacts" inputs: pathtoPublish: '$(Build.ArtifactStagingDirectory)' artifactName: 'hanselminutes'
Next I move to the release pipeline. Now, you can also do the actual Azure Publish to a Web App/App Service from a YAML Build Pipeline. I suppose that's fine if your site/project is simple. I wanted to have dev/test/staging so I have a separate Release Pipeline.
The Release Pipelines system in Azure DevOps can pull an "Artifact" from anywhere - GitHub, DevOps itself natch, Jenkins, Docker Hub, whatever. I set mine up with a Continuous Deployment Trigger that makes a new release every time a build is available. I could also do Releases manually, with specific tags, scheduled, or gated if I'd liked.
Mine is super easy since it's just a website. It's got a single task in the Release Pipeline that does an Azure App Service Deploy. I can also deploy to a slot like Staging, then check it out, and then swap to Production later.
There's nice integration between Azure DevOps and the Azure Portal so I can see within Azure in the Deployment Center of my App Service that my deployments are working:
I've found this all to be a good use of my staycation and even though I'm just a one-person company I've been able to get a very nice automated build system set up at very low cost (GitHub free account for a private repo, 1800 free Azure DevOps minutes, and an App Service for Linux plan) A basic starts at $13 with 1.75Gb of RAM but I'm planning on moving all my sites over to a single big P1v2 with 3.5G of RAM and an SSD for around $80 a month. That should get all of my ~20 sites under one roof for a price/perf I can handle.
Sponsor: Like C#? We do too! That’s why we've developed a fast, smart, cross-platform .NET IDE which gives you even more coding power. Clever code analysis, rich code completion, instant search and navigation, an advanced debugger... With JetBrains Rider, everything you need is at your fingertips. Code C# at the speed of thought on Linux, Mac, or Windows. Try JetBrains Rider today!
© 2019 Scott Hanselman. All rights reserved.
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
      Setting up Azure DevOps CI/CD for a .NET Core 3.1 Web App hosted in Azure App Service for Linux published first on http://7elementswd.tumblr.com/
0 notes
suzanneshannon · 5 years
Text
Setting up Azure DevOps CI/CD for a .NET Core 3.1 Web App hosted in Azure App Service for Linux
Following up on my post last week on moving from App Service on Windows to App Service on Linux, I wanted to make sure I had a clean CI/CD (Continuous Integration/Continuous Deployment) pipeline for all my sites. I'm using Azure DevOps because it's basically free. You get 1800 build minutes a month FREE and I'm not even close to using it with three occasionally-updated sites building on it.
Last Post: I updated one of my websites from ASP.NET Core 2.2 to the latest LTS (Long Term Support) version of ASP.NET Core 3.1 this week. I want to do the same with my podcast site AND move it to Linux at the same time. Azure App Service for Linux has some very good pricing and allowed me to move over to a Premium v2 plan from Standard which gives me double the memory at 35% off.
Setting up on Azure DevOps is easy and just like signing up for Azure you'll use your Microsoft ID. Mine is my gmail/gsuite, in fact. You can also login with GitHub creds. It's also nice if your project makes NuGet packages as there's an integrated NuGet Server that others can consume libraries from downstream before (if) you publish them publicly.
I set up one of my sites with Azure DevOps a while back in about an hour using their visual drag and drop Pipeline system which looked like this:
There's some controversy as some folks REALLY like the "classic" pipeline while others like the YAML (Yet Another Markup Language, IMHO) style. YAML doesn't have all the features of the original pipeline yet, but it's close. It's primary advantage is that the pipeline definition exists as a single .YAML file and can be checked-in with your source code. That way someone (you, whomever) could import your GitHub or DevOps Git repository and it includes everything it needs to build and optionally deploy the app.
The Azure DevOps team is one of the most organized and transparent teams with a published roadmap that's super detailed and they announce their sprint numbers in the app itself as it's updated which is pretty cool.
When YAML includes a nice visual interface on top of it, it'll be time for everyone to jump but regardless I wanted to make my sites more self-contained. I may try using GitHub Actions at some point and comparing them as well.
Migrating from Classic Pipelines to YAML Pipelines
If you have one, you can go to an existing pipeline in DevOps and click View YAML and get some YAML that will get you most of the way there but often includes some missing context or variables. The resulting YAML in my opinion isn't going to be as clean as what you can do from scratch, but it's worth looking at.
In decided to disable/pause my original pipeline and make a new one in parallel. Then I opened them side by side and recreated it. This let me learn more and the result ended up cleaner than I'd expected.
The YAML editor has a half-assed (sorry) visual designer on the right that basically has Tasks that will write a little chunk of YAML for you, but:
Once it's placed you're on your own
You can't edit it or modify it visually. It's text now.
If your cursor has the insert point in the wrong place it'll mess up your YAML
It's not smart
But it does provide a catalog of options and it does jumpstart things. Here's my YAML to build and publish a zip file (artifact) of my podcast site. Note that my podcast site is three projects, the site, a utility library, and some tests. I found these docs useful for building ASP.NET Core apps.
You'll see it triggers builds on the main branch. "Main" is the name of my primary GitHub branch. Yours likely differs.
It uses Ubuntu to do the build and it builds in Release mode. II
I install the .NET 3.1.x SDK for building my app, and I build it, then run the tests based on a globbing *tests pattern.
I do a self-contained publish using -r linux-x64 because I know my target App Service is Linux (it's cheaper) and it goes to the ArtifactStagingDirectory and I name it "hanselminutes." At this point it's a zip file in a folder in the sky.
Here it is:
trigger: - main pool: vmImage: 'ubuntu-latest' variables: buildConfiguration: 'Release' steps: - task: UseDotNet@2 displayName: ".NET Core 3.1.x" inputs: version: '3.1.x' packageType: sdk - task: UseDotNet@2 inputs: version: '3.1.x' - script: dotnet build --configuration $(buildConfiguration) displayName: 'dotnet build $(buildConfiguration)' - task: DotNetCoreCLI@2 displayName: "Test" inputs: command: test projects: '**/*tests/*.csproj' arguments: '--configuration $(buildConfiguration)' - task: DotNetCoreCLI@2 displayName: "Publish" inputs: command: 'publish' publishWebProjects: true arguments: '-r linux-x64 --configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)' zipAfterPublish: true - task: PublishBuildArtifacts@1 displayName: "Upload Artifacts" inputs: pathtoPublish: '$(Build.ArtifactStagingDirectory)' artifactName: 'hanselminutes'
Next I move to the release pipeline. Now, you can also do the actual Azure Publish to a Web App/App Service from a YAML Build Pipeline. I suppose that's fine if your site/project is simple. I wanted to have dev/test/staging so I have a separate Release Pipeline.
The Release Pipelines system in Azure DevOps can pull an "Artifact" from anywhere - GitHub, DevOps itself natch, Jenkins, Docker Hub, whatever. I set mine up with a Continuous Deployment Trigger that makes a new release every time a build is available. I could also do Releases manually, with specific tags, scheduled, or gated if I'd liked.
Mine is super easy since it's just a website. It's got a single task in the Release Pipeline that does an Azure App Service Deploy. I can also deploy to a slot like Staging, then check it out, and then swap to Production later.
There's nice integration between Azure DevOps and the Azure Portal so I can see within Azure in the Deployment Center of my App Service that my deployments are working:
I've found this all to be a good use of my staycation and even though I'm just a one-person company I've been able to get a very nice automated build system set up at very low cost (GitHub free account for a private repo, 1800 free Azure DevOps minutes, and an App Service for Linux plan) A basic starts at $13 with 1.75Gb of RAM but I'm planning on moving all my sites over to a single big P1v2 with 3.5G of RAM and an SSD for around $80 a month. That should get all of my ~20 sites under one roof for a price/perf I can handle.
Sponsor: Like C#? We do too! That’s why we've developed a fast, smart, cross-platform .NET IDE which gives you even more coding power. Clever code analysis, rich code completion, instant search and navigation, an advanced debugger... With JetBrains Rider, everything you need is at your fingertips. Code C# at the speed of thought on Linux, Mac, or Windows. Try JetBrains Rider today!
© 2019 Scott Hanselman. All rights reserved.
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
      Setting up Azure DevOps CI/CD for a .NET Core 3.1 Web App hosted in Azure App Service for Linux published first on https://deskbysnafu.tumblr.com/
0 notes
carlajsmith · 6 years
Text
What Is New In ASP.NET Core 2.2
ASP.NET Core 2.2 is here with several new fixes and improvements. This video lists these features and how to use them. from C-Sharpcorner Latest Content https://ift.tt/2xgcES2
from C Sharp Corner https://csharpcorner.tumblr.com/post/178046707726
0 notes
csharpcorner · 6 years
Text
What Is New In ASP.NET Core 2.2
ASP.NET Core 2.2 is here with several new fixes and improvements. This video lists these features and how to use them. from C-Sharpcorner Latest Content https://ift.tt/2xgcES2
0 notes
suzanneshannon · 6 years
Text
Useful ASP.NET Core 2.2 Features
Earlier this week I talked about how I upgraded my podcast site to ASP.NET Core 2.2 and added Health Check features fairly easily. There's a ton of new features and so far it's been great running on my site with no issues. Upgrading from 2.1 is straightforward.
Better integration with popular Open API (Swagger) libraries including design-time checks with code analyzers
Introduction of Endpoint Routing with up to 20% improved routing performance in MVC
Improved URL generation with the LinkGenerator class & support for route Parameter Transformers (and a post from Scott Hanselman)
New Health Checks API for application health monitoring
Up to 400% improved throughput on IIS due to in-process hosting support
Up to 15% improved MVC model validation performance
Problem Details (RFC 7807) support in MVC for detailed API error results
Preview of HTTP/2 server support in ASP.NET Core
Template updates for Bootstrap 4 and Angular 6
Java client for ASP.NET Core SignalR
Up to 60% improved HTTP Client performance on Linux and 20% on Windows
I wanted to look at just a few of these that I found particularly interesting.
You can get a very significant performance boost by moving ASP.NET Core in process with IIS.
Using in-process hosting, an ASP.NET Core app runs in the same process as its IIS worker process. This removes the performance penalty of proxying requests over the loopback adapter when using the out-of-process hosting model.
After the IIS HTTP Server processes the request, the request is pushed into the ASP.NET Core middleware pipeline. The middleware pipeline handles the request and passes it on as an HttpContext instance to the app's logic. The app's response is passed back to IIS, which pushes it back out to the client that initiated the request.
HTTP Client performance improvements are quite significant as well.
Some significant performance improvements have been made to SocketsHttpHandler by improving the connection pool locking contention. For applications making many outgoing HTTP requests, such as some Microservices architectures, throughput should be significantly improved. Our internal benchmarks show that under load HttpClient throughput has improved by 60% on Linux and 20% on Windows. At the same time the 90th percentile latency was cut down by two on Linux. See Github #32568 for the actual code change that made this improvement.
HTTP/2 is enabled by default. HTTP/2 may be sneaking up on you as for the most part "it just works." In ASP.NET Core's Kestral web server HTTP/2 is enabled by default over HTTPS. You can see here at both the command line and in Chrome I'm using HTTP/2 locally.
Here's Chrome. Note the "h2."
Note that you'll only be able to get HTTP/2 when ALPN (Application-Layer Protocol Negotiation) is available. That means ALPN is supported on:
.NET Core on Windows 8.1/Windows Server 2012 R2 or higher
.NET Core on Linux with OpenSSL 1.0.2 or higher (e.g., Ubuntu 16.04)
All in all, it's a solid release. Go check out the announcement post on ASP.NET Core 2.2 for even more detail!
Sponsor: Preview the latest JetBrains Rider with its Assembly Explorer, Git Submodules, SQL language injections, integrated performance profiler and more advanced Unity support.
© 2018 Scott Hanselman. All rights reserved.
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
      Useful ASP.NET Core 2.2 Features published first on https://deskbysnafu.tumblr.com/
0 notes
suzanneshannon · 6 years
Text
Useful ASP.NET Core 2.2 Features
Earlier this week I talked about how I upgraded my podcast site to ASP.NET Core 2.2 and added Health Check features fairly easily. There's a ton of new features and so far it's been great running on my site with no issues. Upgrading from 2.1 is straightforward.
Better integration with popular Open API (Swagger) libraries including design-time checks with code analyzers
Introduction of Endpoint Routing with up to 20% improved routing performance in MVC
Improved URL generation with the LinkGenerator class & support for route Parameter Transformers (and a post from Scott Hanselman)
New Health Checks API for application health monitoring
Up to 400% improved throughput on IIS due to in-process hosting support
Up to 15% improved MVC model validation performance
Problem Details (RFC 7807) support in MVC for detailed API error results
Preview of HTTP/2 server support in ASP.NET Core
Template updates for Bootstrap 4 and Angular 6
Java client for ASP.NET Core SignalR
Up to 60% improved HTTP Client performance on Linux and 20% on Windows
I wanted to look at just a few of these that I found particularly interesting.
You can get a very significant performance boost by moving ASP.NET Core in process with IIS.
Using in-process hosting, an ASP.NET Core app runs in the same process as its IIS worker process. This removes the performance penalty of proxying requests over the loopback adapter when using the out-of-process hosting model.
After the IIS HTTP Server processes the request, the request is pushed into the ASP.NET Core middleware pipeline. The middleware pipeline handles the request and passes it on as an HttpContext instance to the app's logic. The app's response is passed back to IIS, which pushes it back out to the client that initiated the request.
HTTP Client performance improvements are quite significant as well.
Some significant performance improvements have been made to SocketsHttpHandler by improving the connection pool locking contention. For applications making many outgoing HTTP requests, such as some Microservices architectures, throughput should be significantly improved. Our internal benchmarks show that under load HttpClient throughput has improved by 60% on Linux and 20% on Windows. At the same time the 90th percentile latency was cut down by two on Linux. See Github #32568 for the actual code change that made this improvement.
HTTP/2 is enabled by default. HTTP/2 may be sneaking up on you as for the most part "it just works." In ASP.NET Core's Kestral web server HTTP/2 is enabled by default over HTTPS. You can see here at both the command line and in Chrome I'm using HTTP/2 locally.
Here's Chrome. Note the "h2."
Note that you'll only be able to get HTTP/2 when ALPN (Application-Layer Protocol Negotiation) is available. That means ALPN is supported on:
.NET Core on Windows 8.1/Windows Server 2012 R2 or higher
.NET Core on Linux with OpenSSL 1.0.2 or higher (e.g., Ubuntu 16.04)
All in all, it's a solid release. Go check out the announcement post on ASP.NET Core 2.2 for even more detail!
Sponsor: Preview the latest JetBrains Rider with its Assembly Explorer, Git Submodules, SQL language injections, integrated performance profiler and more advanced Unity support.
© 2018 Scott Hanselman. All rights reserved.
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
      Useful ASP.NET Core 2.2 Features published first on https://deskbysnafu.tumblr.com/
0 notes