ASP.NET Core in 24 Hours, Sams Teach Yourself
Home > Computing and Information Technology > Computer programming / software engineering > Programming and scripting languages: general > ASP.NET Core in 24 Hours, Sams Teach Yourself
ASP.NET Core in 24 Hours, Sams Teach Yourself

ASP.NET Core in 24 Hours, Sams Teach Yourself

|
     0     
5
4
3
2
1




Out of Stock


Notify me when this book is in stock
About the Book

In just 24 sessions of one hour or less, Sams Teach Yourself ASP.NET Core in 24 Hours, will help you build professional-quality, cloud-based, web-connected solutions with ASP.NET Core. This book’s straightforward, step-by-step approach guides you from the basics to advanced techniques, using practical examples to help you make the most of Microsoft’s radically revamped ASP.NET Core framework. ASP.NET Program Manager Jeffrey T. Fritz guides you from jumpstarting development with templates to implementing cutting-edge security and containerization. Every lesson builds on what you’ve already learned, giving you a rock-solid foundation for real-world success. Step-by-step instructions carefully walk you through the most common ASP.NET Core tasks and techniques Practical, hands-on examples show you how to apply what you learn Notes and Tips point out shortcuts, solutions, and problems to avoid Learn how to… Set up your work environment on Windows or non-Windows operating systems Develop solutions more quickly by starting with project templates Configure ASP.NET Core, services, and applications Access data with Entity Framework Core Build modern architectures, controllers, and views with the new version of MVC Scaffold user interfaces and incorporate reusable UI components Read and write data using web API end-points Manage client-side packages with npm and bower Integrate Angular with ASP.NET Core Authenticate users, and protect your website with ASP.NET Core Authorization Deploy ASP.NET Core solutions into production Work with Docker containers in the ASP.NET Core environment

Table of Contents:
Introduction 1 HOUR 1: Introducing ASP.NET Core 7     What Is ASP.NET? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7     Why Should You Program in ASP.NET? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9     Significant Changes in ASP.NET Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9     Assumptions and Definitions in This Book . . . . . . . . . . . . . . . . . . . . . . . . . 13     Introducing the Sample Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13     Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14     Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14     Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15     Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 HOUR 2: Setting Up Your Work Environment for ASP.NET Core 17     Four Versions of Visual Studio: Where Do I Start? . . . . . . . . . . . . . . . . . . . . 17     Installing Development Tools on Non-Windows Operating Systems . . . . . . . 20     Introducing the dotnet Command-Line Tool . . . . . . . . . . . . . . . . . . . . . . . 24     Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28     Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28     Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29     Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 HOUR 3: Exploring the New Project Templates 31     Getting Started with Visual Studio 2017 . . . . . . . . . . . . . . . . . . . . . . . . . . . 31     The wwwroot Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34     Getting Started with Visual Studio Code . . . . . . . . . . . . . . . . . . . . . . . . . . . 35     Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43     Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43     Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44     Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 HOUR 4: Defining ASP.NET Core Configuration 45     Introducing Our Sample Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45     Getting Started with Server-Side Configuration . . . . . . . . . . . . . . . . . . . . . . 45     Fundamentals of .NET Application Structure . . . . . . . . . . . . . . . . . . . . . . . 46     Managing and Referencing NuGet Packages . . . . . . . . . . . . . . . . . . . . . . . 54     Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58     Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59     Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59     Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 HOUR 5: Configuring the Service with the Startup Class 61     Introducing the Startup Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61     Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72     Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72     Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73     Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 HOUR 6: Configuring Your Application 75     Writing Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75     Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85     Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85     Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86     Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 HOUR 7: Accessing Your Data with Entity Framework Core 87     Getting Started with Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87     Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103     Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103     Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103     Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 HOUR 8: Introducing the MVC Architecture 105     Defining the MVC Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105     Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111     Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112     Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112     Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 HOUR 9: Building Your First Controller 113     Reviewing the MVC Folder Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113     Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122     Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122     Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122     Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 HOUR 10: Beginning MVC: Writing Your First View 125     Introducing Razor Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125     Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133     Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133     Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133     Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 HOUR 11: Scaffolding User Interfaces 135     Introducing Scaffolding in Visual Studio 2017 . . . . . . . . . . . . . . . . . . . . . 135     Investigating the Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137     Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150     Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150     Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150     Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 HOUR 12: Writing Data from a Controller 153     Enhancing Scaffolded Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153     Validating Data in Controller Methods . . . . . . . . . . . . . . . . . . . . . . . . . . 154     Investigating Controller Interaction Strategies . . . . . . . . . . . . . . . . . . . . . 157     Preventing Unwanted Cross-site Posting . . . . . . . . . . . . . . . . . . . . . . . . . . 158     Speeding Up Data Access with Asynchronous Techniques . . . . . . . . . . . . . 159     Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161     Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161     Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162     Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 HOUR 13: Writing Web API Methods 165     In the Old Days of ASP.NET[…] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165     Creating a New Trip with Web API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168     Updating a Trip with Web API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172     Deleting a Trip with Web API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174     Negotiating and Formatting Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175     Trimming the Fat: An API-Only Application . . . . . . . . . . . . . . . . . . . . . . . 177     Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179     Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179     Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180     Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 HOUR 14: Introducing Reusable User Interface Components 183     Introducing Tag Helpers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183     Tag Helpers That Ship with ASP.NET Core . . . . . . . . . . . . . . . . . . . . . . . . 186     Building Other Reusable Components . . . . . . . . . . . . . . . . . . . . . . . . . . . 188     Writing Your Own Tag Helper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190     Writing a Constructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192     Counting the Number of Trips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193     Formatting Your Trips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193     Using Your New Tag Helper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195     Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196     Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196     Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197     Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 HOUR 15: npm and bower: Client-Side Package Managers 199     What Are npm and bower? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199     Getting Started with npm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200     Getting Started with bower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203     Automating npm and bower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206     Installing Newer Versions of npm and bower . . . . . . . . . . . . . . . . . . . . . . . 208     Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210     Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211     Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211     Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 HOUR 16: Introducing Angular 213     Getting Started with Angular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214     Exploring the Default Template Angular Website . . . . . . . . . . . . . . . . . . . 216     Delivering Content to the Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218     Adding Some Real Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223     Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227     Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227     Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227     Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 HOUR 17: Connecting Angular to ASP.NET Core 229     Connecting the Pieces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229     Connecting to a Running ASP.NET Core Service . . . . . . . . . . . . . . . . . . . . 235     Combining the Projects: Merging Angular and ASP.NET Core . . . . . . . . . . 240     Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243     Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243     Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244     Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 HOUR 18: Routing Angular Requests Around ASP.NET Core 247     What Is Routing? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247     Generating URLs from ASP.NET Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253     Routing in Angular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254     Merging Projects: The Final Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258     Debugging and Building Your App . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260     Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261     Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261     Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262     Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 HOUR 19: Running Angular on the Server 265     Introducing Angular Universal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265     Migrating Your Application to SpaServices . . . . . . . . . . . . . . . . . . . . . . . . 271     Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273     Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273     Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274     Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 HOUR 20: Authenticating Your Users 275     Starting a New Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275     Configuring Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278     Adding the Registration Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279     Adding the Login and Logout Features. . . . . . . . . . . . . . . . . . . . . . . . . . . 285     Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289     Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289     Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290     Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 HOUR 21: Granting Access to Users 291     Defining Roles, Claims, and Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291     Adding Claims to Your Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292     Adding a Sample Administrator User . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294     Configuring Authorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296     Defining Security Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297     Enforcing Authorization Policies in Content . . . . . . . . . . . . . . . . . . . . . . . 298     Creating More Complex Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299     Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301     Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301     Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301     Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 HOUR 22: Deploying to Production 303     What Is This “Production” You Speak Of? . . . . . . . . . . . . . . . . . . . . . . . . 303     Hosting ASP.NET Core Behind Another Server . . . . . . . . . . . . . . . . . . . . . . 304     Preparing Production Web Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305     Deploying Your Application to a Windows Server . . . . . . . . . . . . . . . . . . . 305     Shared and Self-Contained Deployments . . . . . . . . . . . . . . . . . . . . . . . . . 308     Deploying Your Application to a Linux Server . . . . . . . . . . . . . . . . . . . . . 311     Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314     Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314     Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315     Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 HOUR 23: Working with Docker Containers 317     What Is a Container? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317     Why Use Containers? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318     Installing Docker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318     Packaging Your Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320     Deploying to Azure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325     Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328     Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328     Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329     Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 HOUR 24: Looking to the Future and .NET Standard 331     What Is .NET Standard? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331     Building and Using a .NET Standard Library . . . . . . . . . . . . . . . . . . . . . . 334     Future Updates for ASP.NET Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337     Staying Connected with the ASP.NET Core Community . . . . . . . . . . . . . . . 338     Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339     Q&A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339     Workshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340     Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 9780672337666, TOC, 11/27/2017


Best Sellers


Product Details
  • ISBN-13: 9780134392295
  • Binding: Digital download
  • No of Pages: 384
  • ISBN-10: 0134392299
  • Language: English
  • Weight: 1 gr


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
ASP.NET Core in 24 Hours, Sams Teach Yourself
-
ASP.NET Core in 24 Hours, Sams Teach Yourself
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

ASP.NET Core in 24 Hours, Sams Teach Yourself

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals

    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!