SuperUsers billede
Kursus
MS-486

Developing ASP.NET Core MVC Web Applications

Kurset giver dig den nødvendige viden og færdigheder til at kunne designe og programmere ASP.NET MVC Web Applikationer. Kurset omfatter både teori og øvelser.

 

Beskrivelse

På dette kursus lærer du at udvikle avancerede ASP.NET MVC applikationer ved hjælp af værktøjer og teknologier i .NET Framework. Fokus vil være på at kode, så performance og skalerbarhed af webapplikationen er i top.

ASP.NET MVC vil også blive introduceret og sammenlignet med Web Forms, så deltageren lærer hvilke løsning der egner sig bedst til hvilke situationer.

Kurset giver en god forståelse af:

  • Arkitekturen bag ASP.NET MVC
  • Web-applikationers arkitektur
  • Brugeroplevelsen
  • Avanceret test og fejlfinding af Web Apps

Kurset er sammensat af teoretiske lektioner og praktiske øvelser, hvor der bliver mulighed for at afprøve tingene i praksis.

Moduloversigt

  • Modul 1
    Exploring ASP.NET Core MVC
    • Microsoft ASP.NET Core MVC and the other web technologies of the ASP.NET Core can help you create and host dynamic, powerful, and extensible web applications. ASP.NET Core, of which ASP.NET Core MVC is part, is an open-source, cross-platform framework that allows you to build web applications. You can develop and run ASP.NET Core web applications on Windows, macOS, Linux, or any other platform that supports it. ASP.NET Core MVC supports agile, test-driven development cycle. It also allows you to use the latest HTML standard and Front-End frameworks such as Angular, React, and more.

      Lessons

      • Overview of Microsoft Web Technologies
      • Overview of ASP.NET 4.x
      • Introduction to ASP.NET Core MVC
  • Modul 2
    Designing ASP.NET Core MVC Web Applications
    • Microsoft ASP.NET Core MVC is a programming model that you can use to create powerful and complex web applications. However, all complex development projects, and large projects in particular, can be challenging and intricate to fully understand. Without a complete understanding of the purposes of a project, you cannot develop an effective solution to the customer’s problem. You need to know how to identify a set of business needs and plan the Model-View-Controller (MVC) web application to meet those needs. The project plan that you create assures stakeholders that you understand their requirements and communicates the functionality of the web application, its user interface, structure, and data storage to the developers. By writing a detailed and accurate project plan, you can ensure that the powerful features of MVC are used effectively to solve the customer’s business problems.

      Lessons

      • Planning in the Project Design Phase
      • Designing Models, Controllers and Views
  • Modul 3
    Configure Middlewares and Services in ASP.NET Core
    • ASP.NET Core is a framework that allows us to build many different kinds of applications. In this module, you will learn how to leverage the ASP.NET Core framework to handle requests and responses via existing, and custom middleware, and how to configure services for use in middleware and throughout other parts of the application, such as controllers. A middleware is a segment of code that can be used as part of the request and response pipeline that allows us to handle them according to any relevant parameter. This potentially allows multiple separate requests to be handled in a completely different fashion and receive separate responses. Services are classes that expose functionality which you can later use throughout different parts of the application, without having to keep track of scope manually in each individual location and instantiate any dependencies. This is done by using Dependency Injection. Dependency Injection is a technique used by ASP.NET Core that allows us to add dependencies into the code without having to worry about instantiating objects, keeping them in memory, or passing along required dependencies. This allows the application to become more flexible and to reduce potential points of failure whenever you change a service.

      Lessons

      • Configuring Middlewares
      • Configuring Services
  • Modul 4
    Developing Controllers
    • ASP.NET Core MVC is a framework for building web applications by using the Model-View-Controller (MVC) architectural pattern. The controller is essentially responsible for processing a web request by interacting with the model and then passing the results to the view. The model represents the business layer, sometimes referred to as the domain, and may include data objects, application logic, and business rules. The view uses the data that it receives from the controller to produce the HTML or other output that is sent back to the browser. In this module, you will learn how to develop controllers. Controllers are central to MVC applications. Understanding how controllers work is crucial to being able to create the appropriate model objects, manipulate them, and pass them to the appropriate views. A controller is a class. It contains several methods. These methods are called actions. When an MVC application receives a request, it finds which controller and action should handle the request. It determines this by using Uniform Resource Locator (URL) routing. URL routing is another very important concept necessary for developing MVC applications. The ASP.NET Core MVC framework includes a flexible URL routing system that enables you to define URL mapping rules within your applications. To maximize the reuse of code in controllers, it is important to know how to write action filters. You can use action filters to run code before or after every action in your web application, on every action in a controller, or on other combinations of controller actions.

      Lessons

      • Writing Controllers and Actions
      • Configuring Routes
      • Writing Action Filters
  • Modul 5
    Developing Views
    • Views are one of the three major components of the Model-View-Controller (MVC) programming model. You can define the user interface for your web application by creating views. A view is a combination of HTML markup and C# code that runs on a web server. Therefore, to create a view, you need to know how to write the HTML markup and C# code and use the various helper classes that are built into MVC. You also need to know how to create partial views and view components, which render sections of HTML that can be reused in your web application.

      Lessons

      • Creating Views with Razor Syntax
      • Using HTML Helpers and Tag Helpers
      • Reusing Code in Views
  • Modul 6
    Developing Models
    • Most web applications interact with various types of data or objects. An e-commerce application, for example, manages products, shopping carts, customers, and orders. A social networking application might help manage users, status updates, comments, photos, and videos. A blog is used to manage blog entries, comments, categories, and tags. When you write a Model-View-Controller (MVC) web application, you create an MVC model to model the data for your web application. Within this model, you create a model class for each type of object. The model class describes the properties of each type of object and can include business logic that matches business processes. Therefore, the model is a fundamental building-block in an MVC application. In this module, you will learn how to create the code for models. 

      Lessons 

      • Creating MVC Models 
      • Working with Forms 
      • Validate MVC Application 
  • Modul 7
    Using Entity Framework Core in ASP.NET Core
    • Web applications often use information and they usually require a data store for that information. By rendering webpages that use data from a data store, you can create a web application that changes continually in response to user input, administrative actions, and publishing events. The data store is usually a database, but other types of data stores are occasionally used. In Model-View-Controller (MVC) applications, you can create a model that implements data access logic and business logic. Alternatively, you can separate business logic from data access logic by using a repository. A repository is a class that a controller can call to read data from a data store and to write data to a data store. When you write an ASP.NET application you can use the Entity Framework Core (EF Core) and Language Integrated Query (LINQ) technologies, which make data access code very quick to write and simple to understand. In this module, you will see how to build a database-driven website in MVC. 

      Lessons 

      • Introduction to Entity Framework Core 
      • Working with Entity Framework Core 
      • Use Entity Framework Core to connect to Microsoft SQL Server 
  • Modul 8
    Using Layouts, CSS and JavaScript in ASP.NET Core MVC
    • While building web applications, you should apply a consistent look and feel to the application. You should include consistent header and footer sections in all the views. Microsoft ASP.NET Core MVC includes features such as cascading style sheets (CSS) styles and layouts that enhance the appearance and usability of your web application. In ASP.NET Core MVC, you can create interactive HTML elements by using JavaScript. You need to know how to use JavaScript in your web application. To simplify adding JavaScript to your web application, you need to know how to use libraries such as jQuery. 

      Lessons 

      • Using Layouts 
      • Using CSS and JavaScript 
      • Using jQuery 
  • Modul 9
    Client-Side Development
    • When creating an application, it is important to know how to develop both client-side and server-side of the application. In this module, you are going to learn client-side tools that will allow you to create extensive web applications on any scale. These tools are based on the topics covered in Module 8, "Using Layouts, CSS and JavaScript in ASP.NET Core MVC". In this module, you are going to learn how to use the Bootstrap framework to style your web application. Then you are going to learn how to use Sass and Less, two common Cascading Style Sheets (CSS) preprocessors that add features to CSS, such as variables, nested rules, and functions. These greatly improve the maintainability of complex web applications. Next, you will learn how to set up task runners such as Grunt and gulp and how to use them to compile Sass files during the Microsoft Visual Studio build. You will learn how to use the gulp task runner to perform bundling and minification of CSS and JavaScript files and how to set up a watcher task to compile Sass files as you write your code, without the need to rebuild the solution. Finally, you will learn responsive design tools that allow you to customize your web application’s display based on the capabilities and specifications of a web browser or a device. You will learn to write CSS media queries, how to use the Bootstrap responsive grid system, and how to apply the CSS flexbox layout to your views. 

      Lessons 

      • Applying Styles 
      • Using Task Runners 
      • Responsive design 
  • Modul 10
    Testing and Troubleshooting
    • Software systems such as web applications are complex and require multiple components, which are often written by different developers, to work together. Incorrect assumptions, inaccurate understanding, coding errors, and many other sources can create bugs that result in exceptions or unexpected behavior. To improve the quality of your web application and create a satisfying user experience, you must identify bugs from any source and eliminate them. Traditionally, testers perform most of the testing at the end of a development project. However, it has recently become widely accepted that testing throughout the project life cycle improves quality and ensures that there are no bugs in production software. You need to understand how to run tests on small components of your web application to ensure that they function as expected before you assemble them into a complete web application. It is also important that you know how to handle exceptions while they occur. While an application is running, you may encounter unexpected occurrences. It is important that you manage your exceptions correctly and provide a good user feedback while avoiding leaking information about the application structure. Finally, by using logs throughout the application, you can monitor user activities that might lead to unexpected issues and then you can find solutions to bugs, which you normally would be unsure how to reproduce, by following flows which occurred on the production environment and finding additional errors. 

      Lessons 

      • Testing MVC Applications 
      • Implementing an Exception Handling Strategy 
      • Logging MVC Applications 
  • Modul 11
    Managing Security
    • Since web applications are normally targeted towards users utilizing only a browser to use the application, there are likely to be far more users than in the case of installed applications. However, the open nature of a web application means security must always be at the forefront of your mind when building them. As part of security, you must decide which users can perform what actions, all while protecting users and your application from malicious third parties with possible access to your application. Authentication is the act of utilizing several parameters to make sure that a user is who they claim to be. By implementing authentication, you can ascertain who a user is and provide them with appropriate content while utilizing your applications. Authorization is the process where an already authenticated user in the application can be granted access to specific actions or resources. By utilizing authorization, you can prevent users from accessing sensitive material not intended from them or from performing actions which they should not be able to. Finally, at some point in its lifespan, your applications may come under attack by malicious users. These can vary in means and intent, but the cost of being undefended can be great. You may lose potential users who are affected, valuable data could be erroneously changed, and in the worst cases the entire application may become unusable. Solutions to some of the most popular attacks will be reviewed in this module. 

      Lessons 

      • Authentication in ASP.NET Core
      • Authorization in ASP.NET Core
      • Defending from Attacks 
  • Modul 12
    Performance and Communication
    • Modern web applications require complex interactions with users. Users will often request a lot of data in a small time-frame, while also expecting relevant data as soon as it comes online. This can easily cause a significant amount of load on an unprepared server, resulting in unnecessarily complex or repeated operations and a heavy load on your server. Fortunately, there are multiple ways to reduce the load. Caching allows you to store commonly repeated requests, preventing the need to perform the same logic repeatedly. By using caching, you can reuse data that has already been loaded and present it to the user. This provides the user with a fast response time and reduces system resources used in conducting the logic for the action. State meanwhile allows achieving a state of consistency between different requests. By utilizing various forms of state management, you can transform the normally stateless web experience into one that is custom tailored to individual clients, with different users enjoying a separate and relevant experience in the same application. Finally, SignalR is a framework that allows the abstraction of several different communication protocols into an easy to use API, which allows you to easily create a single set of tools on the server and client to facilitate two-way communications. This allows you to focus on the logic you wish to implement while allowing you to not have to cater to specific browsers. 

      Lessons 

      • Implementing a Caching Strategy 
      • Managing State 
      • Two-way communication 
  • Modul 13
    Implementing Web APIs
    • Most web applications require integration with external systems such as mobile applications. You need to know how to use Web APIs to promote application interaction with external systems. You can use the Web API to implement Representational State Transfer (REST) services in your application. REST services help reduce application overhead and limit the data that is transmitted between client and server systems. You need to know how to call a Web API by using server-side code and jQuery code to effectively implement REST-style Web APIs in your application. 

      Lessons 

      • Introducing Web APIs 
      • Developing a Web API 
      • Calling a Web API 
  • Modul 14
    Hosting and Deploying
    • ASP.NET Core MVC applications are designed to provide a service to multiple users simultaneously while only requiring the server to be installed, and the clients to use browsers to access it. This results in highly desirable applications which do not rely on the user installing dedicated software, and ensuring it is accessible by clients on a wide variety of machines. In order to setup an ASP.NET Core application for a production environment, you will need to compile your code and compress it, and then set it up and running on a dedicated server. Hosting involves using a dedicated server to contain the compiled application and serve it to users as a web-based service. There are many different technologies which can be used to host your application and you should choose one that is appropriate for your requirements. Deployment is the process where the project code is compiled and then transferred to the hosting server in a way that functions within the requirements of the hosting environment. Microsoft Azure is a cloud service provided by Microsoft. It can be used to host ASP.NET Core applications, and is a popular tool in the cloud technology market. It provides convenient Web Application related services at multiple billing options according to requirements.

      Lessons 

      • On-premise hosting and deployment 
      • Deployment to Microsoft Azure 
      • Microsoft Azure Fundamentals 

Jeg kan ikke give andet end 5 stjerner for det hele. Enten er I helt i særklasse, eller også er jeg bare kommet de forkerte kursussteder tidligere. Fantastisk sted og atmosfære.... når først man har lært at finde rundt :-)

— Mikael Ejberg Pedersen
Cobham SATCOM

Nok det bedste kursus jeg har været på og den bedste instruktør jeg har haft!! Rigtig god dybde og uddybende forklaringer, og derudover fantastisk mad!!!

— Michael Hasløv
Lån & Spar Bank

Lækker mad, hyggelige lokaler, god struktur og stemning. Kommer igen når jeg kan.

— Ea Stenberg
Oticon A/S

Absolut det bedste kursus jeg har deltaget i!

— Esben Salling
JN Data A/S

Kursusstedet er så indbydende og velkomne, at det har været en fornøjelse at være her. Rent, pænt og fuld af charme. Jeg deltog på et kursus, hvor alle enkelte dele gik op i en højere enhed, som knap kan beskrives.

— Bo Peter Jensen
Kyndryl Danmark ApS

Jeg fik meget ud af kurset, det har åbnet øjnene for muligheder, jeg ikke var klar over eksisterede. Jeg er sikker på det ikke er sidste gang, vi er i kontakt med SuperUsers.

— Christian Larsen
Siemens Gamesa Renewable Energy A/S

Jeg havde ikke i min vildeste fantasi troet, at et kursussted kunne være så flot. Ved ikke om det er rigtigt, men jeg har en idé om, at omgivelserne smitter af på dem som arbejder her, så alle virker utrolig glade.

Der er en rigtig god stemning. Lige fra hende som sidder i receptionen, til dem som arbejder i køkkenet.

— Jannik Berg Møller
Metro Service

Underviseren har i meget høj grad tilpasset kurset til mit niveau og været fleksibel. Jeg havde meget høje forventninger, og de blev overgået.

Stor præcision, gode øvelser, godt tempo, god stemning og max på læring.

— Luka Dalum
Semler

Instruktøren var meget behagelig og øvelserne var enormt gode. Blev virkelig meget klogere omkring emnerne, kurset handlede om.

Derudover virkelig gode, rolige og grønne omgivelser med god forplejning - specielt god mad. Her vil jeg gerne tage mine kurser næste gang igen.

— Arif Mikkelsen Yüce
Københavns Kommune

Det var en ren fornøjelse at være på kursus hos SuperUsers. Den uge vi har været på kursus var pengene værd og gør, at vi nu kan spare mange konsulenttimer. Det er altid rart at have viden in-house.

Der er en afslappende atmosfære i kursuslokalet, skønne omgivelser i selve bygningen samt dygtige instruktører, som gør det rigtig godt.

Jeg kom i gang med at bruge al den viden, jeg sugede til mig på kurset næsten med de samme, og nu er vi i fuld gang med udvikling af vores fremtidige cloud løsning.

Der er ingen tvivl om, hvem skal vi henvende os, hvis der er behov for andre kurser.

— Maksym Bilyk
KVM A/S

Det er første gang jeg har været hos SuperUsers. Dette har været en rigtig god oplevelse. Instruktøren virker til at være meget erfaren og kompetent.

Instruktørens stærke tekniske baggrund gør oplevelsen og uddybelsen af spørgsmål til en god oplevelse.

— Thomas Gram
Nic. Christiansen Gruppen A/S

Rigtig fint kurussted i fine omgivelser, som sætter gode omgivelser til fordybning. Instruktøren fremstår velforberedt med stor viden omkring de relevante emner.

Instruktøren udviste også god evne til at svare på eventuelle spørgsmål, som måtte opstå undervejs i forløbet.

— Simon Schmidt Eriksen
Norlys

Jeg kommer igen næste gang jeg skal på kursus, det er et dejligt sted, fantastisk god mad og instruktøren har stor viden og deler gerne ud af den!

— Jan Christiansen
TV2 Danmark A/S

Den tekniske dybde på kurset var virkelig god, instruktøren havde meget dybere viden, end pensum nødvendigvis kræver.

Man kunne smide diverse curveballs efter instruktøren, og han havde styr på det hele - han gjorde desuden indholdet spændende.

— Nicolai Bæklund
Danish Crown

Så fik vi gennemført kurser i Microsoft 365 for samlet 5 personer her i afdelingen. Alle siger samstemmende, at det har været et fremragende kursus med en dygtig underviser og kommunkator, som kunne drøfte og informere på rette niveau, men samtidig med effektivitet og humor.

Det har været en rigtig god oplevelse.

— Henrik Dyrhøj
Nyborg Kommune

Der er fred og ro på SuperUsers landsted. God atmosfære og forplejning. Der er kigget til et sundhedsaspekt mht til mad og kage så det ikke tager fuldstændig overhånd.

Instruktøren er velvidende på emnerne og perspektivere gerne bredt til andre relevante områder. Det er givende, at dette også er muligt og giver en selv tanker til videre fordybelse.

Derudover var instruktøren engageret og underholdende at have til at præsenterere indhold for sig.

— Kenneth Middelboe Carlson
Svend Hoyer A/S

Det var som altid en go' oplevelse, og man lærer en masse på kort tid af nogle meget dygtige undervisere.

Jeg arbejder i Azure stort set hver dag, og begge kurser har været rigtige gode til at hjælpe mig med at forstå Azure bedre.

— Marthin Lundquist
DEAS A/S

Instruktøren er meget præsentationsorienteret og inddrager én i undervisningen og materialet. Han er god til at variere undervisningen, så det ikke bliver trivielt.

Det er tydeligt, at instruktøren både har hands-on experience og ikke kun teorien, med mange gode eksempler som refererede til real-world udfordringer, vi måtte opleve.

Gode faciliteter og god forplejning, uden at at man drukner i usunde vaner.

— Kenneth Middelboe Carlson
Svend Hoyer A/S

Very good course, the instructor was the best. I've been here at SuperUsers before, now I'm here again, and hopefully coming back another time.

— Mads From
Sampension Administrationsselskab A/S

Instruktøren virkede meget kompetent og har meget viden om sit fagområde. Han var god til at forklare på en forståelig og humoristisk måde. Derudover var der simple øvelser, som gav god forståelse. 

— Jeppe Hvelplund
Vattenfall Vindkraft A/S

Instruktøren var rigtig god til at gå i dybden, men samtidig være sikker på at folk var med. Virkelig flot sted, lokale og lækker mad.

Der var ingen tvivl om at instruktøren vidste præcis, hvad han snakkede om, og selv de mest simple spørgsmål blev besvaret med glæde, og uden at nogen skulle føle sig dumme.

— Jesper Nederby
Rudersdal Kommune

Dejligt hyggeligt sted, hvor receptionist, køkkenet, undervisere får en til at føle hjemme. Gode rammer skaber god læring. Rigtig god mad, der er med til at give en helhed i oplevelsen af at være på kursus hos SuperUsers.

— Henrik Valentin Eltang
Privatperson

Super tilfreds med stedet og opholdet over i hestestalden. Vil se om jeg ikke kan komme her over igen, til næste kursus jeg skal på. Rigtig flot bygning og fedt at opleve sådan et sted. Kanon sted at holde kursus.

— Mads-Ejnar Kehlet
Herningsholm IT-center

Er du i tvivl?

Det ligger os meget på sinde, at du finder det kursusforløb, der skaber størst værdi for dig og din arbejdsplads. Tag fat i vores kursusrådgivere, de sidder klar til at hjælpe dig!

SuperUsers
Har du spørgsmål? Kontakt os