<?xml version="1.0" encoding="UTF-8"?>
<record
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd"
    xmlns="http://www.loc.gov/MARC21/slim">

  <leader>08343cam a22004697i 4500</leader>
  <controlfield tag="001">20412949</controlfield>
  <controlfield tag="005">20231031090947.0</controlfield>
  <controlfield tag="008">180319s2018    nyua          001 0 eng d</controlfield>
  <datafield tag="010" ind1=" " ind2=" ">
    <subfield code="a">  2018938486</subfield>
  </datafield>
  <datafield tag="020" ind1=" " ind2=" ">
    <subfield code="a">9781509304417</subfield>
    <subfield code="q">(paperback)</subfield>
  </datafield>
  <datafield tag="020" ind1=" " ind2=" ">
    <subfield code="a">150930441X</subfield>
    <subfield code="q">(paperback)</subfield>
  </datafield>
  <datafield tag="035" ind1=" " ind2=" ">
    <subfield code="a">(OCoLC)ocn961008748</subfield>
  </datafield>
  <datafield tag="040" ind1=" " ind2=" ">
    <subfield code="a">KMU</subfield>
    <subfield code="b">eng</subfield>
    <subfield code="c">KMU</subfield>
    <subfield code="e">rda</subfield>
    <subfield code="d">KMU</subfield>
  </datafield>
  <datafield tag="042" ind1=" " ind2=" ">
    <subfield code="a">lccopycat</subfield>
  </datafield>
  <datafield tag="050" ind1="0" ind2="0">
    <subfield code="a">TK 5105.8885.A26 Esp</subfield>
  </datafield>
  <datafield tag="100" ind1="1" ind2=" ">
    <subfield code="a">Esposito, Dino,</subfield>
    <subfield code="d">1965-</subfield>
    <subfield code="e">author.</subfield>
  </datafield>
  <datafield tag="245" ind1="1" ind2="0">
    <subfield code="a">Programming ASP.NET Core /</subfield>
    <subfield code="c">Dino Esposito.</subfield>
  </datafield>
  <datafield tag="264" ind1=" " ind2="1">
    <subfield code="a">[New York] :</subfield>
    <subfield code="b">Pearson Education, Inc.,</subfield>
    <subfield code="c">[2018]</subfield>
  </datafield>
  <datafield tag="300" ind1=" " ind2=" ">
    <subfield code="a">xviii, 398 pages :</subfield>
    <subfield code="b">illustrations ;</subfield>
    <subfield code="c">23 cm</subfield>
  </datafield>
  <datafield tag="336" ind1=" " ind2=" ">
    <subfield code="a">text</subfield>
    <subfield code="b">txt</subfield>
    <subfield code="2">rdacontent</subfield>
  </datafield>
  <datafield tag="337" ind1=" " ind2=" ">
    <subfield code="a">unmediated</subfield>
    <subfield code="b">n</subfield>
    <subfield code="2">rdamedia</subfield>
  </datafield>
  <datafield tag="338" ind1=" " ind2=" ">
    <subfield code="a">volume</subfield>
    <subfield code="b">nc</subfield>
    <subfield code="2">rdacarrier</subfield>
  </datafield>
  <datafield tag="500" ind1=" " ind2=" ">
    <subfield code="a">Includes index.</subfield>
  </datafield>
  <datafield tag="505" ind1="0" ind2=" ">
    <subfield code="a">Machine generated contents note: Assumptions -- This might not be for you if... -- ch. 1 Why Another ASP.NET? -- The Current .NET Platform -- Highlights of the .NET Platform -- The .NET Framework -- The ASP.NET Framework -- The Web API Framework -- The Need for Super-Simple Web Services -- .NET Fifteen Years Later -- A More Compact .NET Framework -- Decoupling ASP.NET from the Host -- The New ASP.NET Core -- .NET Core Command-line Tools -- Installing CLI Tools -- The dotnet Driver Tool -- Predefined dotnet Commands -- Summary -- ch. 2 The First ASP.NET Core Project -- Anatomy of an ASP.NET Core Project -- Structure of the Project -- Interacting with the Runtime Environment -- The Dependency Injection Subsystem -- Dependency Injection at a Glance -- Dependency Injection in ASP.NET Core -- Integrating with External DI Libraries -- Building a Mini Website -- Creating a Single Endpoint Website -- Accessing Files on the Web Server -- Summary -- ch. 3 Bootstrapping ASP.NET MVC</subfield>
  </datafield>
  <datafield tag="505" ind1="0" ind2=" ">
    <subfield code="a">Note continued: Enabling the MVC Application Model -- Registering the MVC Service -- Enabling Conventional Routing -- Configuring the Routing Table -- Anatomy of a Route -- Advanced Aspects of Routing -- Map of ASP.NET MVC Machinery -- The Action Invoker -- Processing Action Results -- Action Filters -- Summary -- ch. 4 ASP.NET MVC Controllers -- Controller Classes -- Discovering the Controller Name -- Inherited Controllers -- POCO Controllers -- Controller Actions -- Mapping Actions to Methods -- Attribute-based Routing -- Implementation of Action Methods -- Basic Data Retrieval -- Model Binding -- Action Results -- Action Filters -- Anatomy of Action Filters -- Little Gallery of Action Filters -- Summary -- ch. 5 ASP.NET MVC Views -- Serving HTML Content -- Serving HTML from Terminating Middleware -- Serving HTML from Controllers -- Serving HTML from Razor Pages -- The View Engine -- Invoking the View Engine -- The Razor View Engine -- Adding a Custom View Engine</subfield>
  </datafield>
  <datafield tag="505" ind1="0" ind2=" ">
    <subfield code="a">Note continued: Structure of a Razor View -- Passing Data to a View -- Built-in Dictionaries -- Strongly Typed View Models -- Injecting Data through the DI System -- Razor Pages -- Discovering the Rationale behind Razor Pages -- Implementation of Razor Pages -- Posting Data from a Razor Page -- Summary -- ch. 6 The Razor Syntax -- Elements of the Syntax -- Processing Code Expressions -- Layout Templates -- Partial Views -- Razor Tag Helpers -- Using Tag Helpers -- Built-in Tag Helpers -- Writing Custom Tag Helpers -- Razor View Components -- Writing a View Component -- The Composition UI Pattern -- Summary -- ch. 7 Design Considerations -- The Dependency Injection Infrastructure -- Refactoring to Isolate Dependencies -- Generalities of the ASP.NET Core DI System -- Aspects of the DI Container -- Injecting Data and Services in Layers -- Collecting Configuration Data -- Supported Data Providers -- Building a Configuration Document Object Model</subfield>
  </datafield>
  <datafield tag="505" ind1="0" ind2=" ">
    <subfield code="a">Note continued: Passing Configuration Data Around -- The Layered Architecture -- The Presentation Layer -- The Application Layer -- The Domain Layer -- The Infrastructure Layer -- Dealing with Exceptions -- Exception Handling Middleware -- Exception Filters -- Logging Exceptions -- Summary -- ch. 8 Securing the Application -- Infrastructure for Web Security -- The HTTPS Protocol -- Dealing with Security Certificates -- Applying Encryption to HTTPS -- Authentication in ASP.NET Core -- Cookie-based Authentication -- Dealing with Multiple Authentication Schemes -- Modeling the User Identity -- External Authentication -- Authenticating Users via ASP.NET Identity -- Generalities of ASP.NET Identity -- Working with the User Manager -- Authorization Policies -- Role-based Authorization -- Policy-based Authorization -- Summary -- ch. 9 Access to Application Data -- Toward a Relatively Generic Application back end -- Monolithic Applications -- The CQRS Approach</subfield>
  </datafield>
  <datafield tag="505" ind1="0" ind2=" ">
    <subfield code="a">Note continued: Inside the Infrastructure Layer -- Data Access in .NET Core -- Entity Framework 6.x -- ADO.NET Adapters -- Using Micro O/RM Frameworks -- Using NoSQL Stores -- EF Core Common Tasks -- Modeling a Database -- Working with Table Data -- Dealing with Transactions -- A Word on Async Data Processing -- Summary -- ch. 10 Designing a Web API -- Building a Web API with ASP.NET Core -- Exposing HTTP Endpoints -- File Servers -- Designing a RESTful Interface -- REST at a Glance -- REST in ASP.NET Core -- Securing a Web API -- Planning Just the Security You Really Need -- Simpler Access Control Methods -- Using an Identity Management Server -- Summary -- ch. 11 Posting Data from the Client Side -- Organizing HTML Forms -- Defining an HTML Form -- The Post-Redirect-Get Pattern -- Posting Forms Via JavaScript -- Uploading the Form Content -- Refreshing Portions of the Current Screen -- Uploading Files to a Web Server -- Summary -- ch. 12 Client-side Data Binding</subfield>
  </datafield>
  <datafield tag="505" ind1="0" ind2=" ">
    <subfield code="a">Note continued: Refreshing the View via HTML -- Preparing the Ground -- Defining Refreshable Areas -- Putting It All Together -- Refreshing the View via JSON -- Introducing the Mustache.JS Library -- Introducing the KnockoutJS Library -- The Angular Way to Building Web Apps -- Summary -- ch. 13 Building Device-friendly Views -- Adapting Views to the Actual Device -- The Best of HTML5 for Device Scenarios -- Feature Detection -- Client-side Device Detection -- Client Hints Coming Soon -- Device-friendly Images -- The PICTURE Element -- The ImageEngine Platform -- Resizing Images Automatically -- Device-oriented Development Strategies -- Client-centric Strategies -- Server-centric Strategies -- Summary -- ch. 14 The ASP.NET Core Runtime Environment -- The ASP.NET Core Host -- The WebHost Class -- Custom Hosting Settings -- The Embedded HTTP Server -- Selection of the HTTP Server -- Configuring a Reverse Proxy -- Kestrel Configuration Parameters</subfield>
  </datafield>
  <datafield tag="505" ind1="0" ind2=" ">
    <subfield code="a">Note continued: The ASP.NET Core Middleware -- Pipeline Architecture -- Writing Middleware Components -- Packaging Middleware Components -- Summary -- ch. 15 Deploying an ASP.NET Core Application -- Publishing the Application -- Publishing from within Visual Studio -- Publishing Using CLI Tools -- Deploying the Application -- Deploying to IIS -- Deploying to Microsoft Azure -- Deploying to Linux -- Docker Containers -- Containers vs. Virtual Machines -- From Containers to Microservice Architecture -- Docker and Visual Studio 2017 -- Summary -- ch. 16 Migration and Adoption Strategies -- In Search of Business Value -- Looking for Benefits -- Brownfield Development -- Greenfield Development -- Outlining a Yellowfield Strategy -- Dealing with Missing Dependencies -- The .NET Portability Analyzer -- The Windows Compatibility Pack -- Postponing the Cross-platform Challenge -- Moving Towards a Microservice Architecture -- Summary.</subfield>
  </datafield>
  <datafield tag="630" ind1="0" ind2="0">
    <subfield code="a">Active server pages.</subfield>
  </datafield>
  <datafield tag="630" ind1="0" ind2="7">
    <subfield code="a">Active server pages.</subfield>
    <subfield code="2">fast</subfield>
    <subfield code="0">(OCoLC)fst01388618</subfield>
  </datafield>
  <datafield tag="650" ind1=" " ind2="0">
    <subfield code="a">Web sites</subfield>
    <subfield code="x">Design.</subfield>
  </datafield>
  <datafield tag="650" ind1=" " ind2="0">
    <subfield code="a">Web site development.</subfield>
  </datafield>
  <datafield tag="650" ind1=" " ind2="0">
    <subfield code="a">Internet programming.</subfield>
  </datafield>
  <datafield tag="650" ind1=" " ind2="7">
    <subfield code="a">Internet programming.</subfield>
    <subfield code="2">fast</subfield>
    <subfield code="0">(OCoLC)fst00977281</subfield>
  </datafield>
  <datafield tag="650" ind1=" " ind2="7">
    <subfield code="a">Web site development.</subfield>
    <subfield code="2">fast</subfield>
    <subfield code="0">(OCoLC)fst01173243</subfield>
  </datafield>
  <datafield tag="650" ind1=" " ind2="7">
    <subfield code="a">Web sites</subfield>
    <subfield code="x">Design.</subfield>
    <subfield code="2">fast</subfield>
    <subfield code="0">(OCoLC)fst01173252</subfield>
  </datafield>
  <datafield tag="906" ind1=" " ind2=" ">
    <subfield code="a">7</subfield>
    <subfield code="b">cbc</subfield>
    <subfield code="c">copycat</subfield>
    <subfield code="d">2</subfield>
    <subfield code="e">epcn</subfield>
    <subfield code="f">20</subfield>
    <subfield code="g">y-gencatlg</subfield>
  </datafield>
  <datafield tag="942" ind1=" " ind2=" ">
    <subfield code="2">lcc</subfield>
    <subfield code="c">BK</subfield>
    <subfield code="n">0</subfield>
  </datafield>
  <datafield tag="999" ind1=" " ind2=" ">
    <subfield code="c">678</subfield>
    <subfield code="d">678</subfield>
  </datafield>
  <datafield tag="952" ind1=" " ind2=" ">
    <subfield code="0">0</subfield>
    <subfield code="1">0</subfield>
    <subfield code="2">lcc</subfield>
    <subfield code="4">0</subfield>
    <subfield code="7">0</subfield>
    <subfield code="8">NFIC</subfield>
    <subfield code="a">CPL</subfield>
    <subfield code="b">CPL</subfield>
    <subfield code="c">OA</subfield>
    <subfield code="d">2023-10-31</subfield>
    <subfield code="e">Zambia Library Service</subfield>
    <subfield code="l">3</subfield>
    <subfield code="o">TK 5105.8885.A26 Esp</subfield>
    <subfield code="p">300688</subfield>
    <subfield code="r">2026-02-10 00:00:00</subfield>
    <subfield code="s">2026-02-05</subfield>
    <subfield code="w">2023-10-31</subfield>
    <subfield code="y">BK</subfield>
  </datafield>
</record>
