title: Difference between serverless.EmptyServerless template and serverless.AspNetCoreWebApp dotnet core Amazon Lambda Templates
body: <p>I have been testing out the dotnet Amazon Lambda templates installed using: </p>
  
  <pre><code>dotnet new -i Amazon.Lambda.Templates::*
  </code></pre>
  
  <p>Assuming that all three of these solutions are completely serverless:  </p>
  
  <p>serverless.AspNetCoreWebApp - Lambda ASP.NET Core Web Application with Razor Pages<br>
  serverless.AspNetCoreWebAPI - Lambda ASP.NET Core Web API<br>
  serverless.DynamoDBBlogAPI - Lambda DynamoDB Blog API</p>
  
  <p>I deployed the DynamoDBBlogAPI as a test using the cloud formation template and it appears to be based off of the standard serverless.EmptyServerless template. Multiple lambda functions in a single Function.cs file. In the AWS console I see several lambda functions were created w/ each one corresponding to a function in Functions.cs:  </p>
  
  <p>Function to get a list of blogs<br>
  Function to add a blog<br>
  Function to get a single blog<br>
  Function to remove a blog </p>
  
  <p>I am trying to figure out the difference  between this setup and how an entire AspNetCoreAPI application can be serverless as well. Does the API gateway aspect go away? I am assuming that now it points to a single lambda which runs an entire AspNetCoreWebAPI project and the project handles it from there, rather than having a bunch of separate Lambda functions handling things.</p>