
Explore ASP.NET Core, a cross-platform, open-source framework for building web apps and REST APIs, with four flavors—MVC, Web API, Razor Pages, and Blazor—and deployment on Windows, Linux, or Mac.
Compare the benefits of ASP.NET Core over ASP.NET WebForms and ASP.NET MVC, highlighting cross-platform, cloud support, open source, built-in dependency injection, modular design, and improved performance and testability.
Install Visual Studio Community 2022 and the ASP.NET and web development workload to begin ASP.NET Core development; note SQL Server and Postman as prerequisites.
Create your first ASP.NET Core web app using the empty template, and learn about Program.cs, WebApplicationBuilder, and minimal middleware to return Hello World on localhost.
Explore Kestrel, the default cross-platform HTTP server for ASP.NET Core, and learn how it serves development requests while production relies on reverse proxies like IIS, Nginx, or Apache.
Configure launchsettings.json to switch between Kestrel and IIS Express, define profiles, ports, and environment variables for local development, with Kestrel as the default server.
Explore the HTTP protocol, its request-response model between browsers and the Kestrel server, including HTTPS, headers, and status codes, with browser developer tools to inspect requests.
Learn how http responses are structured in the http protocol, including the start line, status codes, and response headers, and observe the response body via the browser network tab.
Master common HTTP status codes (200, 302, 304, 400, 401, 404, 500) and learn to send responses using the HTTP context, status codes, and writeAsync in ASP.NET Core.
Learn how to read and set http response headers in an ASP.NET Core app using the response headers collection, including content type, date, server, cache-control, and location.
Explore how an HTTP request moves from browser to server, including the start line, URL, headers, and body, and how ASP.NET Core exposes these details via context.request.
Understand how the query string passes parameters from browser to server and how to read them with request.query in asp.net core, using id and name examples.
Explore how request headers convey browser information to the server, including accept, content-type, and user-agent. Read these headers in ASP.NET Core via request.headers and use Postman to add them.
Learn how to test ASP.NET Core apps and Web API controllers with Postman, sending diverse request bodies, inspecting headers and responses, and using custom headers for authorization during the course.
Compare get and post by examining their intentions and request bodies; get retrieves data, while post sends data in the request body as json, xml, or form data.
Learn to read the ASP.NET Core request body programmatically with a stream reader and readToEndAsync, then parse the query string into a dictionary using QueryHelpers for post requests.
Understand how middleware forms an application pipeline that handles requests and responses, with individual components performing single operations like https redirection, static files, authentication, and authorization.
Demonstrates building an empty ASP.NET Core project and implementing a terminating middleware with app.Run, using an async lambda and HTTP context to return a hello response.
Learn how to chain middlewares in an ASP.NET Core app using app.use and app.run, passing the HTTP context to the next middleware and conditionally short-circuiting the pipeline.
Create a custom middleware class implementing imiddleware to define invokeAsync, then register it as a transient service and use app.useMiddleware to run in the proper request pipeline order.
Implement a custom middleware and expose it via a static extension method on the web application, enabling useMyCustomMiddleware to inject it into the request pipeline with next.
Create a conventional asp.net core 6 middleware using a plain class with constructor-injected next and an invokeAsync context to read firstName and lastName and respond with a hello fullName.
Discover the recommended middleware order in ASP.NET Core, from exception handling and HSTS to static files, routing, authentication, authorization, and custom middlewares, ensuring secure, correct endpoint processing.
Learn how useWhen branches the middleware pipeline in ASP.NET Core based on a condition, executing a branch when true and continuing the main chain when false.
Learn how routing matches HTTP methods and URLs to endpoints in ASP.NET Core, with automatic routing and endpoints defined directly on the app via map methods.
Map endpoints with the map family (map, mapGet, mapPost) on the app object, routing requests to the matching middleware. Use mapFallback for unmatched URLs and distinguish endpoints by HTTP method.
Define and read route parameters in ASP.NET Core by using fixed literals and braces for variables, then access values via route values in endpoints like files/{filename}.{ext} and employee/profile/{employeeName}.
Discover how default route parameters work in asp.net core 10, with employee name defaulting to Scott and product id defaulting to 1.
Learn how to define optional parameters by suffixing with a question mark, defaulting to null, and handle not supplied cases using request.root values and conditional responses.
Master route constraints in ASP.NET Core to restrict parameter values to types like int and date time, ensuring correct routes or a fallback via the daily digest example.
Enforce route constraints with decimal and GUID IDs in ASP.NET Core. Create cities/{cityId} endpoints, extract from request.routeValues, convert to GUID, and respond.
Explore route constraints in ASP.NET Core, using min length, max length, length, range, alpha, and regex to validate route segments with practical examples like employee name and sales report.
Implement a custom route constraint class in ASP.NET Core, using a match method to validate month values with a regular expression, and register it under a months constraint.
Discover how endpoint routing selects a matching route using four precedence rules: more URL segments, literal text over parameters, constrained templates over unconstrained, and catch-all least preferred.
Learn how to serve static content in ASP.NET Core by enabling useStaticFiles, using wwwroot by default, and configuring custom webroot paths or multiple folders with a physical file provider.
Learn to organize endpoints with controllers in ASP.NET Core 10, enable controllers as services, and apply attribute routing to map actions like say hello.
Discover attribute routing and default routes for empty URL, map multiple routes to one action method, apply parameters, constraints, and regular expressions with escaping and returning IActionResult in ASP.NET Core.
Suffix the class name with controller or apply the controller attribute to mark a controller, then use addControllers and mapControllers for routing and request handling.
Understand ContentResult in ASP.NET Core 10, returning various content types by specifying content and MIME type, using the shortcut content method on controllers.
Learn to return json data as key-value pairs from an asp.net core controller by converting a model object to json and using jsonresult or the json shorthand for application/json response.
Learn three file result types in asp.net core: virtual file, physical file, and file content results, plus using shortcut file methods for efficient responses.
Use IActionResult as the action return type to return any content, JSON, or file result, since it is the parent interface for all ASP.NET Core action results.
Use status code results to return bad request, unauthorized, and not found without manually setting status codes. Return methods automatically set 400, 401, or 404, with optional messages.
Demonstrates redirecting an old url bookstore to store/books using redirect to action result, and explains 301 vs 302 and permanent versus temporary redirects and the location header.
Explore 301 and 302 redirects in asp.net core 10, using RedirectToAction, RedirectToActionPermanent, and LocalRedirect, including route values like id, and distinguish local redirects from redirects to another domain.
Explain how ASP.NET Core model binding retrieves data from request sources such as headers, query strings, body, and route parameters, and how to specify exact sources and binding priority.
Learn how ASP.NET Core model binding prioritizes route data over query string parameters, mapping route parameters to action method inputs and handling optional values when data is missing.
Explore how model binding prioritizes route data over query strings by default, and how to override with from route or from query attributes for action parameters.
Discover how ASP.NET Core model binding automatically creates a Book object from route data and query strings, binding BookId and Other, with optional post data handling.
Explore how form fields in html forms are submitted and bound to models. Distinguish form url encoded from form data, their content types, and how route data affects binding.
Learn to replace repetitive inline validations with model validations using data annotation attributes like [Required], letting model binding create a person object and run validation after binding.
Explore how model state in the controller base tracks validation results after model binding, exposing is valid, values, and error count to return detailed bad requests with error messages.
Explore all validation rules in ASP.NET Core 10, including required, range, stringLength, and compare attributes, and how display name and string.Format generate dynamic error messages.
Apply regular expression attributes to enforce alphabets or numbers and formats like email or phone, with customizable error messages; use compare and required attributes with model binding for validation.
Derive a custom validation attribute from the validation base class and override isValid, then configure dynamic error messages via a constructor for reusable model validation during binding.
Develop a custom cross-field validator by creating DateRangeValidatorAttribute to compare fromDate to toDate using reflection and validation context, ensuring fromDate is older than or equal to toDate.
Implement IValidatableObject to perform model-specific validation inside the model class, validating that either date of birth or age is provided, using yield to return validation results after binding.
Use the bind attribute to specify which properties participate in model binding, preventing overposting. Exclude specific fields with bind never, and use the name of operator for dynamic property listing.
Learn how to build custom model binders to handle complex data binding with IModelBinder, BindModelAsync, and value providers, enabling concatenation of first and last names and parsing composite fields.
Create a global custom model binder by implementing a binder provider that binds person type parameters across the app, and register it at the first position in program.cs.
Learn how built-in model binding accepts multiple values for the same key by binding to a string list or array using indexed inputs like tags[0], tags[1], in ASP.NET Core.
Learn how to read request headers via model binding in ASP.NET Core 10 using the FromHeader attribute to bind the User-Agent header into an action parameter.
Understand how to receive JSON or XML data in ASP.NET Core by applying the FromBody attribute to enable input formatters that parse the request body into a model object.
Learn how ASP.NET Core uses input formatters to transform request bodies into model objects, automatically reading JSON with the JSON input formatter or XML with XMLSerializerInputFormatter.
Explain how the model-view-controller pattern separates concerns by routing requests to controllers, invoking business models and view models, and rendering HTML via views with data passed through a view model.
Discover how ASP.NET Core views render HTML by combining server-side C# with client-side HTML, guided by controllers passing a ViewModel to determine the appropriate view.
Master razor code blocks and razor expressions to render server-side logic in asp.net core views, declare c-sharp variables, and print dynamic data that becomes plain html for the browser.
Demonstrate conditional rendering in razor views using the if statement, handling nullable date of birth, and printing content only when conditions are met, with else and nested if possibilities.
Navigate switch in razor views to print html content based on a gender enum, including default handling and dynamic output in index.chhtml.
Explore how to use the for-each loop in Razor to render HTML from a collection, generating repeated divs, list items, or table rows on the server.
Learn to use the for loop in c# to repeat an html tag or read a collection by index, compare for with foreach, and briefly cover while and do-while loops.
Learn to print static text in razor without converting it to c-sharp code by using the right colon, text tag, or a div or span.
Use local functions in a Razor view to create reusable C# code that computes age from a nullable date of birth and prints it within the same view.
Learn how html.raw allows executing stored html or JavaScript in ASP.NET Core by bypassing default sanitization, with a caution about security when code comes from user input.
Learn how the controller supplies data to the view with ViewData, a key-value dictionary. Read and cast ViewData to access app title and a people list in the view.
Explore passing data from controller to view with ViewData, compare it to ViewBag, and apply custom css from wwwroot to render boxes and a table.
Master view bag in asp.net core 10 to access view data without explicit typecasting, using dot notation, while understanding dynamic types, null handling, and compatibility with view data.
Learn how strongly typed views tightly bind to a specific model class with the at model directive, enabling direct access to the controller-supplied model object or collection in the view.
Learn how to implement strongly typed views in ASP.NET Core by binding a single person model, wiring details routes, and generating dynamic links for person details.
Learn to bind two models to a single strongly typed view via a wrapper model, exposing PersonData and ProductData in ASP.NET Core.
Learn how to centralize namespace imports with _viewimports.cshtml, so the models namespace becomes available across all views. Distinguish global versus local view imports and understand their execution order.
Place a shared view in the views/shared folder to be accessible from any controller, with the framework first checking the controller-specific folder before the shared folder.
Create a shared layout in ASP.NET Core to unify header, sidebar, and footer via _layout.cshtml and render body content across views, with wwwroot assets from HomeController and ProductsController.
Create an index view named index.cshtml in the home controller, connect it to the shared layout via the layout property, and render the merged output with the render body.
Create multiple pages like home, about, contact, and products with razor views and a shared layout (views/shared/_layout.cshtml) to apply navigation and CSS across controllers.
Explore how view data passes from controller to view and into the layout view in ASP.NET Core 10, enabling shared data like title across views via a dictionary.
Explore how __viewstart.cshtml sets a common layout across views, with global settings overridden by local viewstart or individual views. Understand execution order and folder-specific overrides for efficient, centralized layout management.
Learn to dynamically set a view's layout based on a condition, using the view bag and a product ID in the route to switch between products layout and underscore layout.
Learn how ASP.NET Core layout view sections let you supply content from views, render it in the layout, and include scripts or side content like a photo area or sidebar.
Master nested layout views by applying one layout inside another, using underscore master layout, underscore layout, and underscore products layout to share a common structure.
Learn to create and reuse partial views in ASP.NET Core, call them with tag helpers or HTML helpers, and compare partial tag helper, partial async, and render partial async.
Explore passing dynamic data to partial views in ASP.NET Core using view data or view bag, where a copied view data object updates independently for each invocation.
Learn to pass a model object to a strongly tapered, strongly typed partial view, using a list model with a title and items.
Return a partial view result from the controller to handle asynchronous browser requests via fetch. Pass a model, render HTML on the server, and inject it into a page div.
THE REAL ULTIMATE GUIDE TO ASP.NET CORE 10 DEVELOPMENT
This is the only course you need to learn the complete coding and testing skills that a professional Asp .Net Core developer needs.
This is the most-comprehensive course on Asp .Net Core ever available on Udemy, which starts you from beginner to mastery in Asp .Net Core development.
STUDENTS FEEDBACK - over 350 students - 5 star rated:
1. "Pretty Great structured course, attention to details & important concepts, no rushing or skipping, amazing explanation skill, good & clear voice, excellent video quality & presentation. I 100% recommend this course to anyone want's to learn ASP.NET. Getting this course was one of the best decisions i've made to my career & i assure everyone to do it too. I'm going to buy the Microservices course from the Instructor soon." - Mohammed Mohsen
2. "This course is by far the best deal I've seen in a very long time. The instructor is not exaggerating when he describes it as the 'True Ultimate Guide'. Just about everything one needs to know as a developer is included, and then some: each one of the sections on Entity Framework, Unit Testing and Identity/Authorization could have been sold as separate courses but they're included here at no additional cost, truly amazing. Of course, none of that would be of any value if the content was not instructional, but that's not the case here: the instructor is quite knowledgeable, and all the explanations are concise and to the point. The pace is quick on easy topics but slower and very detailed on the more difficult ones." - Zamkam
3. "This course is beyond the expectation. As a person who has read Microsoft documentation, and watched a lot of videos, and also read so many books about ASP.NET, I am confident to tell you to join this course not only 100% but, 1500%. What I found awesome about this course: - The order, in which the concepts are thought is magical. - The detail and the information in the content of the course are unbelievably wonderful. - The course got updated with wonderful stuff. By using this course, we would not need more than 1 year in a company to become a senior developer I believe. Thank you very very much Harsha for this wonderful course. Please add as much as content you can in your C# and ASP.NET course, because the way you teach is a miracle." - Hamed Homaee
4. "Excellent explanation, good fonts, good pace, so - brilliant course! And yes, finally - it's COMPLETE guide! Not just 10 hours or even less. Thank you for that kind of work!" -- Valera Znak
5. "Highly Recommended! This course is well-organized, easy to follow and covers a wide range of topics. The instructor takes time to thoroughly explain each topic and provide examples to help illustrate their points, which is incredibly helpful in gaining a deeper understanding of ASP.NET Core." -- Nisarg Gami
6. "This course is pretty amazing. The concepts are been taught in such a way that it becomes easier for anyone to understand them clearly and quickly. Also, the assignments and interview questions help a lot in testing our knowledge and giving us good exposure to attending a real interview exam. The assignment question helps us in implementing our learning by solving the questions." -- Pushkar Sharad Kaswankar
7. "Everything is meticulously prepared. It's nice to have cheat sheet." -- Ekrem Kangal
8. "Hi Mister Harsha! First of all, this is a great course. I am impressed with the coverage of the topics, the interview questions, the assignments, and the answers to those assignments. I know that it takes a lot of your time, effort, and patience to do this. Could you please tell me how you were able to achieve this. I mean, how do you always feel motivated, and how do you keep up this kind of energy." - Pushpa MH
Top reasons - why should you opt this course over the other courses
The course is facilitated (instructed) by the lead instructor - Mr. Harsha Vardhan, one of the most popular trainer for in-person training programs with top IT companies in India.
This course is up-to-date with .NET 8 to 10 and promised to keep it up-to-date for future releases of .NET and Asp .Net Core.
The course is constantly updated with new content on newer topics, new projects determined by the students - that's you!
You will build your portfolio project (a Stocks Trading Platform) through guidance provided by the Instructor (also, source code is provided to help you to rescue you in case if you stuck somewhere and to check quality of your code).
Many developers may feel challenged when they need to face technical interviews. To address this problem, we've included a comprehensive set of interview questions to test yourself before facing any technical interview on Asp .Net Core.
Coding is not the game of listening and following someone. You will have proper understanding of the subject only when you apply it on a meaningful application. So essential coding exercises (assignments) are provided in each section. So you will try each of them - and get instructor's source code and help when you stuck somewhere or become clue-less at certain point.
The definitions, best practices, diagrams presented in the course videos, are provided as 'Section cheat sheet' at the end of respective section. So you can use it as a moment of reference & revision, to recollect and apply what have you learnt from that section.
Advanced concepts such as xUnit, Moq, Serilog, Fluent Assertions, Repository Pattern, Clean Architecture, SOLID Principles, Unit testing and Integration testing, Asp .Net Core Identity are presented in the course, along with a promise to keep it up to date. So it's a future-proof course.
Professional developer best practices are included and explained in respective sections wherever necessary.
All topics are explained from scratch. So you need not worry about your prior knowledge / experience in Asp .Net Core. The only main prerequisites of this course are - C# and HTML.
Even, you need not much worry about advanced topics of C#; because brush-up lectures on the key concepts of C# such as Extension Methods, LINQ, Nullable reference types etc., are included as a extra section in this course.
Teaching methodology: Picture first - visualize and define everything before jumping into a new topic.
Lag-free and straight-to-the-point explanation
English captions are available for all lectures.
Does this course include Web API (RESTful Services)?
Yes
What is the application are we going to build for my portfolio?
A "Stock Trading" App.
With live chart and price updates on the selected stock.
A search page to search for desired stock.
Place buy or sell order
A dashboard to see order history of buy orders and sell orders
A login / register page where the new users can sign-up and existing users can sign-in.
What if I get stuck while learning?
You can drop a question in the Q&A, and the instructor or the teaching assistant will answer your questions within 24-hours - max within 48-hours.
What if I don’t like the course?
That will likely not happen. But, if it does, you are covered by the Udemy 30-day money-back guarantee, so you can quickly return the course. No questions asked.
This course is offered by Web Academy by Harsha Vardhan. Any watermark or name stating "Harsha Web University" is from our old branding and does not represent an academic institution. This course is for educational purposes only and is not affiliated with any university or degree-granting institution.