Preface
Microsofthasreleasedanewopensourceandcross-platformwebapplicationframework,called
ASP.NETCore.Itrunsontopof.NETCore,whichisalsoopensource,andisprimarilyused
withtheC#programminglanguage.YouarenolongertiedtousingWindowswithASP.NET,and
youcannowdeveloponaMacanddeploytoLinux.Thisnewplatformalsooffersmuchhigher
performance.
Intoday'sworld,awebapplicationthatonlyperformswellonadeveloper'sworkstationand
failstodeliverhigh-performanceinproduction,isunacceptable.Thewaythatwebapplications
arenowdeployedatscalehaschanged,anddevelopmentpracticesmustadapttotakeadvantage
ofthis.Byreadingthisbook,you'lllearnaboutthemodernwayofmakinghigh-performanceweb
applications,andhowtodothiswithASP.NETCore.
Thisbookaddresseswebapplicationperformance-improvementtechniquesfrombothageneral
standpoint(HTTP,HTTPS,HTTP/2,TCP/IP,databaseaccess,compression,I/O,asset
optimization,caching,messagequeuing,andotherconcerns)andfromaC#,ASP.NETCore,and
.NETCoreperspective.Thisincludesdelvingintothedetailsofthelatestframeworksand
demonstratingsoftwaredesignpatternsthatimproveperformance.
Wewillhighlightcommonperformancepitfalls,whichcanoftenoccurunnoticedondeveloper
workstations,alongwithstrategiestodetectandresolvetheseissuesearly.Byunderstandingand
addressingchallengesupfront,youcanavoidnastysurpriseswhenitcomestodeploymenttime.
Wewillintroduceperformanceimprovementsalongwiththetrade-offsthattheyentail.Wewill
strikeabalancebetweenprematureoptimizationandinefficientcodebytakingascientificand
evidence-basedapproach,focusingonthebigproblemsandavoidingchangesthathavelittle
impact.
Weassumethatyouunderstandtheimportanceofperformanceforwebapplications,butwewill
recapwhyit'scrucial.However,youmaynothavehadanyspecificoractionableadvice,orhave
muchexperienceofperformanceproblemsoccurringinthewild.
Byreadingthisbook,you'llunderstandwhatproblemscanoccurwhenwebapplicationsare
deployedatscaletodistributedinfrastructure,andknowhowtoavoidormitigatetheseissues.
Youwillgainexperienceofhowtowritehigh-performanceapplicationswithouthavingtolearn
aboutissuesthehardway,possiblylateatnight.
You'llseewhat'snewinASP.NETCore,whyit'sbeenrebuiltfromthegroundup,andwhatthis
meansforperformance.Youwillunderstandthefutureof.NETCoreandhowyoucannow
developonanddeploytoWindows,MacOSX,andLinux.You'llappreciatetheperformanceof
newfeaturesinASP.NETCore,includingupdatestotheRazorviewengine,andyouwillbe
awareofcrossplatformtools,suchasVisualStudioCode.