100% found this document useful (9 votes)
97 views

Full Chapter Creating Asp Net Core Web Applications Proven Approaches To Application Design and Development 1St Edition Dirk Strauss 2 PDF

ebook

Uploaded by

john.johnson415
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (9 votes)
97 views

Full Chapter Creating Asp Net Core Web Applications Proven Approaches To Application Design and Development 1St Edition Dirk Strauss 2 PDF

ebook

Uploaded by

john.johnson415
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 54

Creating ASP.

NET Core Web


Applications: Proven Approaches to
Application Design and Development
1st Edition Dirk Strauss
Visit to download the full and correct content document:
https://textbookfull.com/product/creating-asp-net-core-web-applications-proven-appro
aches-to-application-design-and-development-1st-edition-dirk-strauss-2/
More products digital (pdf, epub, mobi) instant
download maybe you interests ...

Creating ASP NET Core Web Applications Proven


Approaches to Application Design and Development 1st
Edition Dirk Strauss

https://textbookfull.com/product/creating-asp-net-core-web-
applications-proven-approaches-to-application-design-and-
development-1st-edition-dirk-strauss/

Pro ASP.NET Core MVC 2: Develop cloud-ready web


applications using Microsoft’s latest framework,
ASP.NET Core MVC 2 — Seventh Edition Adam Freeman

https://textbookfull.com/product/pro-asp-net-core-mvc-2-develop-
cloud-ready-web-applications-using-microsofts-latest-framework-
asp-net-core-mvc-2-seventh-edition-adam-freeman/

Architecting ASP.NET Core Applications Carl-Hugo


Marcotte

https://textbookfull.com/product/architecting-asp-net-core-
applications-carl-hugo-marcotte/

Pro ASP.NET Core 3: Develop Cloud-Ready Web


Applications Using MVC, Blazor, and Razor Pages —
Eighth Edition Adam Freeman

https://textbookfull.com/product/pro-asp-net-core-3-develop-
cloud-ready-web-applications-using-mvc-blazor-and-razor-pages-
eighth-edition-adam-freeman/
Understanding Game Application Development: With
Xamarin.Forms and ASP.NET 1st Edition Vincent Maverick
S. Durano

https://textbookfull.com/product/understanding-game-application-
development-with-xamarin-forms-and-asp-net-1st-edition-vincent-
maverick-s-durano/

Understanding Game Application Development: With


Xamarin.Forms and ASP.NET 1st Edition Vincent Maverick
S. Durano

https://textbookfull.com/product/understanding-game-application-
development-with-xamarin-forms-and-asp-net-1st-edition-vincent-
maverick-s-durano-2/

Web Application Security Exploitation and


Countermeasures for Modern Web Applications 1st Edition
Andrew Hoffman

https://textbookfull.com/product/web-application-security-
exploitation-and-countermeasures-for-modern-web-applications-1st-
edition-andrew-hoffman/

Web Application Security Exploitation and


Countermeasures for Modern Web Applications 1st Edition
Andrew Hoffman

https://textbookfull.com/product/web-application-security-
exploitation-and-countermeasures-for-modern-web-applications-1st-
edition-andrew-hoffman-2/

Exploring Advanced Features in C#: Enhance Your Code


and Productivity 1st Edition Dirk Strauss

https://textbookfull.com/product/exploring-advanced-features-in-
c-enhance-your-code-and-productivity-1st-edition-dirk-strauss/
Dirk Strauss

Creating ASP.NET Core Web


Applications
Proven Approaches to Application Design and
Development
1st ed.
Dirk Strauss
Uitenhage, South Africa

Any source code or other supplementary material referenced by the


author in this book is available to readers on GitHub via the book’s
product page, located at www.​apress.​com/​978-1-4842-6827-8. For
more detailed information, please visit http://​www.​apress.​com/​
source-code.

ISBN 978-1-4842-6827-8 e-ISBN 978-1-4842-6828-5


https://doi.org/10.1007/978-1-4842-6828-5

© Dirk Strauss 2021

This work is subject to copyright. All rights are reserved by the


Publisher, whether the whole or part of the material is concerned,
specifically the rights of translation, reprinting, reuse of illustrations,
recitation, broadcasting, reproduction on microfilms or in any other
physical way, and transmission or information storage and retrieval,
electronic adaptation, computer software, or by similar or dissimilar
methodology now known or hereafter developed.

The use of general descriptive names, registered names, trademarks,


service marks, etc. in this publication does not imply, even in the
absence of a specific statement, that such names are exempt from the
relevant protective laws and regulations and therefore free for general
use.

The publisher, the authors and the editors are safe to assume that the
advice and information in this book are believed to be true and accurate
at the date of publication. Neither the publisher nor the authors or the
editors give a warranty, expressed or implied, with respect to the
material contained herein or for any errors or omissions that may have
been made. The publisher remains neutral with regard to jurisdictional
claims in published maps and institutional affiliations.

Distributed to the book trade worldwide by Springer Science+Business


Media LLC, 1 New York Plaza, Suite 4600, New York, NY 10004. Phone
1-800-SPRINGER, fax (201) 348-4505, e-mail orders-ny@springer-
sbm.com, or visit www.springeronline.com. Apress Media, LLC is a
California LLC and the sole member (owner) is Springer Science +
Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a
Delaware corporation.
For Adele, Irénéé, and Tristan. You are my everything.
Introduction
.NET Core has given .NET developers a lot to think about. Some
developers have embraced the technology, while others have taken a
wait-and-see approach. Whatever approach you are taking, .NET Core is
without a doubt here to stay.
Developing web applications is also not one of the easiest things to
do. I’ve always wanted to write a book on developing web applications,
but to do it in a way that is very structured and takes the reader on a
journey of discovery.
Creating ASP.NET Core Web Applications is my attempt at that book. I
always try to take the point of view that the book I’m writing is a
reference book for my bookshelf. With this in mind, I, therefore, tried to
cover a wide set of topics.
As with all projects, Chapter 1 starts with creating your project and
using the .NET CLI. We have a look at adding Razor pages and also how
to configure the application using the appsettings.json file. I then create
a dummy data service, which is used to get the application up and
running with test data. This test data is designed in such a way that it
can easily be swapped out at a later stage (and I show you how to do
this).
Chapter 2 takes a look at the process of creating models, model
binding, tag helpers, working with a query string, and page routes. To
illustrate these concepts, Chapter 2 shows you how to implement a
search form. This allows us to search for data, view the details, and add
in logic to handle bad requests.
Chapter 3 illustrates the concepts of editing the data, displaying
validation errors, and modifying the data access service to suit our
needs. I also discuss the differences between singleton, scoped, and
transient lifetime registration for services.
EF Core and SQL Server become the focus in the next chapter.
Chapter 4 shows you how to install Entity Framework Core, define your
connection strings, what database migrations are, and how to use them.
We will also be implementing a new data access service and changing
the data access service registration from the test data to the SQL data.
Moving to the front end next, we have a look at working with Razor
pages in Chapter 5. Here, we will look at what sections are and how
they benefit you as a developer. We take a closer look at _ViewImports
and _ViewStart files. I also show you how to create your own tag helper,
how to work with partial views, and, finally, how to work with
ViewComponents.
Staying front end, we have a look at adding client-side logic in
Chapter 6. I show you how to separate production scripts from
development scripts, use SCSS to generate CSS, how SCSS works, and
the different features you can use to create CSS with SCSS, as well as
work with Chrome Developer Tools. This is, in my opinion, crucial for
any web developer to know.
With Chapter 7, we will take a look at what middleware is. This is a
very important chapter and one that will require some explaining. We
have a look at some of the built-in middleware components, but also
how to create a custom middleware component if the built-in
middleware components don’t suit your needs. After creating a custom
middleware component, we will have a look at logging in ASP.NET Core.
Logging is a big subject, but this book tries to cover the basics.
Finally, Chapter 8 will take you through getting your web
application ready for deployment and finally publishing your web
application and hooking it up to a SQL Server database. I hope that you
will enjoy this book as much as I enjoyed writing it.
Acknowledgments
I would like to thank my wife and kids for their support during the
writing of this book. I love you always!
Table of Contents
Chapter 1:​Creating and Setting Up Your Project
Creating Your Web Application Project
Using the .​NET CLI
Adding and Editing Razor Pages
Looking at the Configuration
Working with Entities
Creating and Registering a Data Service
Displaying Test Data on Your Web Page
Chapter 2:​Creating Models
Building a Search Form
Adding Font Awesome
Adding the Search Form Code
Implementing the Find Logic
Using Model Binding and Tag Helpers
Displaying Related Data
Passing the Video ID Through to the Detail Page
Working with Page Routes
Populating Video Details
Handling Bad Requests
Chapter 3:​Modifying Data
Editing Existing Data and Using Tag Helpers
Building the Edit Form
Changing the Data Service
Validate Edited Data and Display Validation Errors
AddSingleton vs.​AddScoped vs.​AddTransient
Implementing IValidatableObje​ct
Adding a New Video
Modifying the Data Access Service
Modifying the OnPost Method
Working with TempData
Changing the TempData Provider
Chapter 4:​EF Core and SQL Server
Entity Framework Core
Install Entity Framework
Implement DbContext
Specify Database Connection Strings
Working with Database Migrations
Implement a New Data Access Service
Changing the Data Access Service Registration
Chapter 5:​Working with Razor Pages
Using Sections in Your Razor Pages
Meta Tags and CSS
Navigation
@RenderBody
Footer
Scripts Applied Across All Pages
@RenderSection
What Are _​ViewImports and _​ViewStart Files?​
Specifying a Different Layout Page
Creating a Custom TagHelper
Working with Partial Views
Adding Video Properties and Updating the Database
Adding Markup to the Partial View
Working with ViewComponents
Chapter 6:​Adding Client-Side Logic
Separate Production Scripts from Development Scripts
Setting Up SCSS and Generating CSS
SCSS Partial Files
Using SCSS @mixin
Using SCSS @extend
Using SCSS Functions
Working with Chrome Developer Tools
Dragging Elements
Adding and Modifying Styles
Add a New Class
Testing State Changes
Throttling Network Speed
Wrapping Up
Chapter 7:​Exploring Middleware
What Is Middleware
Handling Exceptions
UseHsts
UseHttpsRedirect​ion
UseStaticFiles
UseRouting
UseSession
UseEndpoints with MapRazorPages
Creating Custom Middleware
Logging Information
Only Logging What Is Necessary
Applying a Specific LogLevel to Production
A Quick Look at the Log Category
Wrapping Up
Chapter 8:​Web Application Deployment
Getting Your Site Ready for Deployment
Deploying Your Web Application to IIS
Configuring the SQL Server Database
A Note About Connection Strings and Secrets
Index
About the Author
Dirk Strauss
is a software developer from South
Africa who has been writing code since
2003. He has extensive experience in
SYSPRO, with C# and web development
being his main focus. He studied at the
Nelson Mandela University, where he
wrote software on a part-time basis to
gain a better understanding of the
technology. He remains passionate about
writing code and imparting what he
learns to others.
About the Technical Reviewer
Carsten Thomsen
is a back-end developer primarily but
working with smaller front-end bits as
well. He has authored and reviewed a
number of books and created numerous
Microsoft Learning courses, all to do
with software development. He works as
a freelancer/contractor in various
countries in Europe; Azure, Visual
Studio, Azure DevOps, and GitHub are
some of the tools he works with. Being
an exceptional troubleshooter, asking the
right questions, including the less logical
ones, in a most logical to least logical
fashion, he also enjoys working with
architecture, research, analysis,
development, testing, and bug fixing.
Carsten is a very good communicator with great mentoring and team-
lead skills, and great skills in researching and presenting new material.
© Dirk Strauss 2021
D. Strauss, Creating ASP.NET Core Web Applications
https://doi.org/10.1007/978-1-4842-6828-5_1

1. Creating and Setting Up Your Project


Dirk Strauss1
(1) Uitenhage, South Africa

Welcome to Creating ASP.NET Core Web Applications! This book will guide
you through creating a typical ASP.NET Core Web Application, from start to
finish. All the code illustrated in this book is available on GitHub and will be
an invaluable resource to you as you navigate the code samples in the book.
This chapter will take you through the steps required to start your web
application development. We will also have a look at adding and editing
Razor pages, working with Entities, creating and registering a data service,
and using that data service to display test data on the web page.

Creating Your Web Application Project


In this book, I will be using Visual Studio 2019 to illustrate the concepts
surrounding ASP.NET Core Web Applications. For those folks that do not
use Visual Studio, the same result as detailed in the following can be
achieved for creating an application by using the .NET CLI.

I will assume that you have already installed .NET Core onto your
machine. The web application we will be creating will use .NET Core 3.1.
If you have not installed .NET Core, you can do so by visiting this link:
https://dotnet.microsoft.com/download.

Because we are working with .NET Core which is cross-platform, I will


also show you how to create an application using the Command Prompt
later in this section.
For now, let us start by creating a new project in Visual Studio. From the
file menu, click New Project. This will display the Create a new project
screen as seen in Figure 1-1.

Figure 1-1 The Create New Project Screen


The Create a new project screen that allows you to select the correct
project template lists all the available templates included in Visual Studio.
In our case, we will be using the ASP.NET Core Web Application template.
If you are used to working in previous versions of Visual Studio, you
will notice that this screen has been vastly improved. You can search for
templates by typing a template name into the search text box or by holding
down Alt+S.
You can also filter project templates from the drop-downs on the form.
You will notice that you can filter by language, platform, and project type.
Clicking the Next button will take you to the Configure your new project
screen as seen in Figure 1-2.
Figure 1-2 Configure Your New Project
Give the project a suitable name. For this book, we will simply call the
project VideoStore and specify a location to create the project in. When you
have done this, click the Create button.
You will now be taken to a second screen as seen in Figure 1-3 where
you can select the specific type of template that you want to use.
Figure 1-3 Selecting a Specific Template Type
It is here that we can specify the version of .NET Core that we want to
use. In this example, we are selecting .NET Core 3.1. We can then tell Visual
Studio that we want to create a basic web application. Just leave the rest of
the settings at their default values and click the Create button.
Figure 1-4 Running the Web Application
After the project has been created in Visual Studio, you can hit Ctrl+F5
to run the web application. This will run your project without the debugger
attached and display the web application in your browser as seen in Figure
1-4.
You will notice that the web application is running on port 44398 in this
example, but your port will most likely be different. By default, this web
application includes some basic features such as a Home page as well as a
Privacy page.
It is from here that we will start to flesh out our web application and
add more features and functionality to it.

Using the .NET CLI


Earlier in this chapter, I mentioned that we can also create the project from
the Command Prompt. Therefore, for those of you that do not use Visual
Studio, the .NET CLI offers a cross-platform way for creating .NET Core
projects.
Once you have installed .NET Core on your Mac, Linux, or Windows
machine, you should be able to simply open your Terminal, Shell, or
Command Prompt and type the dotnet command as seen in Figure 1-5.
Figure 1-5 Running the dotnet Command
To see more of the commands available with dotnet, you can type
dotnet -h in the Command Prompt. If you typed in dotnet new, you
would see all the available project templates listed in your Command
Prompt window.
These templates, along with the short name associated with that
specific template, are listed in the following table.

Templates Short Name Language Tags


Console Application Console C#, F#, Common/
VB Console
Class library classlib C#, F#, Common/
VB Library
WPF Application wpf C# Common/WPF
WPF Class library wpflib C# Common/WPF
WPF Custom Control wpfcustomcontrollib C# Common/WPF
Library
Templates Short Name Language Tags
WPF User Control wpfusercontrollib C# Common/WPF
Library
Windows Forms winforms C# Common/
(WinForms) Application WinForms
Windows Forms winformslib C# Common/
(WinForms) Class WinForms
library
Worker Service worker C# Common/
Worker/Web
Unit Test Project mstest C#, F#, Test/MSTest
VB
NUnit 3 Test Project nunit C#, F#, Test/NUnit
VB
NUnit 3 Test Item nunit-test C#, F#, Test/NUnit
VB
xUnit Test Project xunit C#, F#, Test/xUnit
VB
Razor Component razorcomponent C# Web/ASP.NET
Razor Page page C# Web/ASP.NET
MVC ViewImports viewimports C# Web/ASP.NET
MVC ViewStart viewstart C# Web/ASP.NET
Blazor Server App blazorserver C# Web/Blazor
Blazor WebAssembly blazorwasm C# Web/Blazor/WebAssembly
App
ASP.NET Core Empty web C#, F# Web/Empty
ASP.NET Core Web App mvc C#, F# Web/MVC
(Model-View-Controller)
ASP.NET Core Web App webapp C# Web/MVC/
Razor Pages
ASP.NET Core with angular C# Web/MVC/SPA
Angular
ASP.NET Core with React C# Web/MVC/SPA
React.js
Templates Short Name Language Tags
ASP.NET Core with Reactredux C# Web/MVC/SPA
React.js and Redux
Razor Class Library Razorclasslib C# Web/Razor/
Library/
Razor Class Library
ASP.NET Core Web API Webapi C#, F# Web/WebAPI
ASP.NET Core gRPC Grpc C# Web/gRPC
Service
dotnet gitignore file gitignore Config
global.json file globaljson Config
NuGet Config nugetconfig Config
Dotnet local tool tool-manifest Config
manifest file
Web Config webconfig Config
Solution File sln Solution
You will notice that to create an ASP.NET Web Application, we need to
specify the short name webapp with the new command.
As seen in Figure 1-6, typing in the command dotnet new webapp
will create the ASP.NET Web Application inside the current directory.
Figure 1-6 Creating the Web App via the .NET CLI
If you had to compare the project created via the .NET CLI with the one
created in Visual Studio, you will see that these are identical.
The .NET CLI offers a fantastic, quick, and cross-platform way of
creating applications.

Adding and Editing Razor Pages


With your web application running, you will notice that if you click the
Privacy link in the navigation menu, it will go to the following URL:
https://localhost:44398/Privacy. The web application is
mapping the request created by clicking the Privacy link with the Razor
pages in your VideoStore project. Looking at Figure 1-7, you will see the
Razor pages in a folder called… you guessed it, Pages.
Figure 1-7 The Razor Pages in the Solution Explorer
This means that when I view the Privacy page in the web application,
ASP.NET Core is busy rendering the Privacy.cshtml page. You will also
notice that the cshtml extension is not required in the URL as seen in
Figure 1-8.
Figure 1-8 The Privacy Policy Page
You will also notice that when you make your browser window smaller,
the menu collapses into the hamburger icon. This is made possible by
Bootstrap, which is included in the project by default.
If you now click your Privacy.cshtml page in the Solution Explorer, you
will see the code as listed in Code Listing 1-1.

@page
@model PrivacyModel
@{
ViewData["Title"] = "Privacy Policy";
}
<h1>@ViewData["Title"]</h1>

<p>Use this page to detail your site's privacy


policy.</p>
Listing 1-1 The Privacy Razor Page

With your web application running without the debugger attached, if


you click the hamburger menu icon, you will see that we have just two
pages listed which are Home and Privacy.
Looking at Figure 1-9 and comparing that to the code in Code Listing 1-
1, you might be wondering where the code is for the navigation.

Figure 1-9 The Navigation Menu

The answer lies in a special Razor page called a Layout page. Swing
back to your Solution Explorer, and expand the Shared folder under the
Pages folder. There you will see a page called _Layout.cshtml as seen in
Figure 1-10.
Figure 1-10 The Shared Layout Page
It is this Layout page that renders everything within the web
application's <head> tags, things such as links to all the required
stylesheets, as well as <body> tags that include a <header> section
containing the navigation menu. The code for the navigation menu is listed
in Code Listing 1-2.

<div class="navbar-collapse collapse d-sm-inline-flex


flex-sm-row-reverse">
<ul class="navbar-nav flex-grow-1">
<li class="nav-item"><a class="nav-link text-
dark" asp-area="" asp-page="/Index">Home</a></li>
<li class="nav-item"><a class="nav-link text-
dark" asp-area="" asp-page="/Privacy">Privacy</a>
</li>
</ul>
</div>
Listing 1-2 The Navigation Menu Code
Go ahead and add another menu item called Videos, by adding a new
list item to the unordered list as seen in Code Listing 1-3.

<div class="navbar-collapse collapse d-sm-inline-flex


flex-sm-row-reverse">
<ul class="navbar-nav flex-grow-1">
<li class="nav-item"><a class="nav-link text-
dark" asp-area="" asp-page="/Index">Home</a></li>
<li class="nav-item"><a class="nav-link text-
dark" asp-area="" asp-page="/ Videos/List">Videos</a>
</li>
<li class="nav-item"><a class="nav-link text-
dark" asp-area="" asp-page="/Privacy">Privacy</a>
</li>
</ul>
</div>
Listing 1-3 Modified Navigation Menu Code

You will notice that the asp-page tag helper specifies Videos/List
which tells my web application that inside a folder called Videos is a page
that will display a list of videos. Running your web application again, you
will see that the Videos menu item has been added to the navigation menu
(Figure 1-11).
Figure 1-11 Navigation Menu Modified
If you click the Videos menu item, the link will not navigate anywhere.
This is because we have not yet added the required Razor page. As shown
in Figure 1-12, add a new folder under the Pages folder in your Solution
Explorer.
Another random document with
no related content on Scribd:
2718 Tipton W H 2 July
I 1
13 July
3460 Taylor J
D 17
1 June
4122 Tyffle John Cav
A 28
2 Aug
4778 Templeton G W
C 5
13 Aug
5646 Tite W S
C 14
7 Aug
7052 Thomas W H Cav
A 28
8 Sept
9203 Tolley D
H 19
9 Sept
9375 Terry D Cav
D 20
7 Oct
10780 Thinn R A “
B 12
13 Feb
12694 Tidwell T 65
D 22
13 Aug
4825 Tidwell J W 64
C 5
2 June
2592 Usley T R
A 28
2 Aug
4518 Undergrate A
I 2
8 May
885 Vaugh I
H 5
2 May
1203 Vanhorn J
H 19
11 July
2915 Varner T W Cav
E 5
7217 Vanhook J M, C 11 July
Cor H 29
Vaughry 2 Aug
4530
Frederick D 1
11 Mch
60 Wolfe John
E 18
2 Mch
259 Woolen I
A 31
2 April
339 Webb Robert
B 2
2 April
359 Wuas M
I 2
2 April
501 Watts C C
A 12
2 April
570 Ward Jordan
A 15
2 April
810 White John
B 30
7 May
902 William C
B 5
3 May
1052 Ward A
I 12
7 June
1756 Watts J W
M 9
2 June
1794 White I
D 10
2 June
1865 Wallace L East
C 12
2 June
2057 Ward C
H 16
2 June
2066 Watts T, Cor
I 16
13 June
2132 Wray Samuel
C 18
2496 Wilson A Cav 8 June
- 26
2 July
2764 Winningham J 64
B 2
8 July
2810 Wells E
H 3
4 July
3021 Watkins J M
I 7
7 July
3031 Woodsend T
K 8
8 July
3189 Webb D Cav
G 12
1 April
21 Winchester J D “
E 15
2 April
19 Weaver P
D 13
2 Aug
4554 West W F
H 2
Ward John, - Aug
4869
Citizen - 6
2 April
22 Whitby R B
C 15
2 April
33 Weese W
I 23
1 July
3297 Weir I Cav
B 14
2 July
3304 Wilson H
B 14
10 July
3319 Wolf A
C 14
3 July
3458 Williams A Cav
E 17
3615 Willis James StG - July
- 20
2 July
3714 Webbe J
B 21
12 July
3737 Wilson J
F 21
2 July
3982 Wilson S L
D 26
7 July
4033 Walford W
A 26
2 Aug
4704 Wallace L
C 4
7 Aug
5267 Wright J W Cav
B 10
1 Aug
5572 Withyde S
A 14
3 Aug
6108 Wood P D
B 19
2 Aug
6580 Webb Robert
B 23
7 Aug
6608 Wortell H H Cav
I 23
13 Sept
7618 White R O M
B 2
7 Sept
8740 Whicks N
H 14
7 Aug
7231 Wood J
C 29
2 Sept
9193 Woolsey J
F 18
13 Sept
9479 Walker John Cav
C 21
9 Sept
9658 Williams C S “
B 24
9670 Whittle H W “ 7 Sept
C 24
6 Sept
9730 Webb T
G 25
11 Sept
9929 White L S Cav
D 28
11 Oct
10337 Wiggins G W “
C 4
7 Oct
10338 White H S’t “
A 4
7 Oct
10739 Warrell J W, Cor C
- 11
3 Oct
10605 Webb W
A 10
7 Oct
11386 Warden J W, S’t
E 24
7 Nov
12107 Winelug J
M 21
11 Nov
12125 White Wm M
D 22
7 Nov
12139 Watson I C Cav
C 23
6 Feb
12576 Walker C H 65
H 3
4 Feb
12699 Woodruff J Cav
B 24
13 Mch
12779 Woods Thomas
B 15
7 Sept
8190 White J, S’t Cav 64
A 8
6 Aug
5669 Wilson Wm A
A 14
4717 Westbrook J H Cav 6 Aug
A 4
13 Aug
4793 Wilson J M “
D 5
5 April
383 Yarber Wiley
I 5
2 May
878 Young James
D 4
2 May
1142 Young James
F 16
3 April
14 Yeront Samuel
E 10
3 Aug
5682 Yarnell J E
E 14
Total 736.

VERMONT.
9 July
3975 Averill T E 64
I 25

Adams Dan’l 1 Aug


4579 Cav
L 2

11 Sept
8301 Albee S, S’t
G 9
1 Sept
9960 Atwood A
C 28
11 Oct
10664 Aldrich L E, S’t
A 11
1 Oct
11259 Aldrich H B Art
A 21
1 Nov
12092 Aiken M A
A 19
12766 Avery B F 3 Mar 65
C 13
2 June
2035 Bloomer J Bat 64
- 15
2 July
3166 Bailey James
A 11
16 July
4036 Brown George
B 20
1 July
4173 Bailey S P Cav
H 28
9 July
4200 Beadle H H
G 29
1 Aug
4509 Bucker James
M 1
1 Aug
4637 Boyd A M Cav
L 3
6 Aug
4954 Bently M W
A 7
8 Aug
5671 Bacom A M
G 14
1 Aug
5728 Bliss J H Cav
L 15
11 Aug
6334 Burchard C
L 21
1 Aug
6349 Benson A
C 21
4 Aug
6416 Bennvills J
D 22
1 Aug
6594 Barnes W Cav
F 23
11 Sept
7886 Barton W
K 5
8029 Beady Wm 9 Sept
I 6
1 Aug
8086 Barker F Art
A 7
11 Sept
8315 Burrows H
F 10
1 Aug
8591 Brainard J B Cav
L 12
9 Oct
10305 Brown G
B 4
7 Oct
10371 Bowles L H
A 5
4 Oct
10431 Burton C
A 6
4 Oct
10745 Barker C
D 11
1 Oct
11068 Brown J B
A 17
4 Oct
11225 Batch B F
C 20
9 Oct
11375 Bohamar J
I 24
11 Oct
11469 Baker John
E 26
2 Nov
11747 Bonlon A
B 2
1 Nov
11841 Babcock T
K 5
1 Nov
12055 Barber W H
C 16
7 Nov
12185 Burns J
B 28
1 Dec
12239 Butler A F Art
L 7
12406 Baxter G 4 Jan 65
A 6
11 Jan
12412 Bishop E
E 8
4 Feb
12585 Bailey E
B 4
1 May
1044 Corey C A Cav 64
F 12
4 May
1170 Clifford Jas
F 17
Chatfield Wm, 10 May
1228
Cor F 20
1 June
1973 Collit Jas Cav
H 15
9 June
2675 Caswell F
- 30
9 June
2694 Clough B
A 30
6 July
2811 Chase M
H 3
9 July
3351 Cole A H
H 15
5 July
3817 Crocker D
D 23
11 July
3918 Clough John D
A 24
Chamberlain 6 July
4205
—— A 29
5 Aug
4883 Crouse N
C 6
11 Aug
5103 Chester A
K 9
5480 Carey Thomas Art 1 Aug
- 13
1 Aug
6806 Carmine P “
L 25
4 Aug
6932 Conner W A, S’t
A 26
11 Aug
7345 Clark M L
F 31
11 Aug
7361 Clark John Art
M 31
1 Sept
7698 Cunningham J Cav
F 3
1 Sept
8320 Cook J J, Cor “
I 10
1 Sept
8923 Chase E L Art
C 16
11 Sept
9724 Crowley D
F 25
11 Nov
11738 Cross E F
L 2
11 Nov
11769 Carter J
A 3
1 Oct
10330 Colborn W Art
M 4
1 July
3068 Drew F Cav
F 9
1 Aug
5927 Donohoe P “
D 17
1 Aug
6104 Dunn G E, Cor
G 18
1 Aug
6338 Doying F W Art
F 21
4 Aug
6840 Darcy F
D 25
7974 Day Geo 11 Sept
H 6
9 Sept
8271 Davis O F
I 9
1 Oct
10420 Dunn W W Cav 64
G 6
1 Oct
10458 Day J D “
A 7
1 Jan
12375 Dragoon N “ 65
G 1
11 Aug
6353 Ennison G 64
A 21
4 Oct
10316 Eliot C
F 4
14 May
821 Farmer E L
H 1
9 July
3464 Freeman C R
H 17
1 July
4077 Farnsworth M
B 26
1 Aug
5851 Farnham L B Art
A 16
17 Aug
5914 Foster A
K 17
1 Aug
6758 Fuller W Cav
G 25
3 Aug
7165 Forrest S
I 29
11 Sept
8096 Fox W
K 7
11 Sept
8201 Foster H B
L 8
10784 Feast Geo Art 1 Oct
K 12
4 Oct
10969 Fisk W P
K 15
4 Oct
11314 Farrell J H
D 22
4 Oct
11351 Flint O B
D 23
1 Oct
11458 Foster H C Art
D 25
1 Dec
12317 Ferand A Art
B 21
1 Dec
12322 Ferrett J
K 23
1 Nov
12065 Fairchild G L Art
A 17
11 Nov
6264 Farnham L D, S’t
A 20
3 June
1730 Gelo A
B 8
2 Aug
5273 Green E Bat
- 10
1 Sept
8572 Gleason C W Art
H 12
4 Sept
9739 Gillman S A
G 26
11 Oct
11598 Graves J
E 28
4 Jan
12531 Gerry E B, Cor 65
H 26
2 June
2176 Hubbard F Bat 64
- 19
1 July
3851 Humphrey J Cav
A 14
5218 Hall Benj 11 Aug
A 10
11 Aug
6145 Hyde E, Cor
L 18
9 Aug
6657 Havens E W
H 24
9 Aug
7394 Hazen W
H 31
11 Oct
10824 Hines L
A 13
2 Oct
10843 Hart S L
- 13
11 Oct
10910 Hudson J B
A 14
11 Oct
10996 Hudson J M
A 16
1 Oct
11442 Howard J Cav
K 25
1 Nov
11730 Holmes Joseph Art
K 2
11 Nov
11814 Howard J
A 4
1 Nov
1206 Hall C A
A 17
1 Dec
12300 Hodges J Cav
H 17
6 July
3309 Jones H L
B 14
1 July
3858 Joslin H
B 24
17 July
3886 Jordan A E
A 24
4690 Johnson D W 11 Aug
H 4
1 Oct
10183 Johnson John Art
K 1
1 July
4007 Knapp L
G 25
1 Aug
6968 Kelsey L C Art
F 27
1 Sept
7762 Kingsley S
D 4
4 Sept
8901 Knowles C W
H 16
1 Aug
6239 Knight Chas Art
K 26
1 Aug
4597 LaBoney H
M 3
5 Aug
4664 Larraway H
A 3
1 Sept
7653 Lapcam A Cav
- 3
17 Sept
7891 Laddenbush J
A 5
11 Sept
8355 Leoport C
L 10
Lungershaw W 1 Oct
10180 Cav
C F 1
11 Oct
11074 Lacker H
A 17
4 Feb
12916 Lumsden C Cav 65
D 8
2 May
1335 Mitchell Jacob Bat 64
- 24
1 June
1544 Mosey A Cav
K 1
2088 McIntyre John 7 June
F 17
9 June
2394 Manian P
- 24
1 Aug
4617 Morse W
F 3
1 Aug
5073 Martin Jas 64
M 8
1 Aug
5949 Mills Wm
E 17
1 Aug
7324 Merrill B J
B 30
6 Sept
8475 Mayhim J
C 11
1 Sept
8965 Manchester J M C
I 16
2 Sept
9352 McGager J
G 20
10 Sept
9405 Montgomery O A
A 21
3 Oct
11227 McAllister W B
I 20
1 Nov
11735 Martin M Art
A 2
11 Feb
12631 Monroe A “ 65
L 10
11 Sept
9901 Morgan Chas “ 64
M 27
1 Aug
4478 McCrillis Edw Cav
C 1
9 Aug
7289 Milcher Wm
F 30
6559 Nownes Geo H Cav 1 Aug
C 23
1 Oct
11067 Nichols H Art
A 17
4 Dec
12283 Nelson S H “
I 13
1 Apr
704 O’Brien Wm
H 23
10 July
4300 O’Neil J M
A 30
2 July
3183 Plude John Bat
- 11
17 July
3243 Pev Jas
D 12
1 Aug
4981 Preston F Art
- 7
9 Aug
5135 Phelps H W
H 9
3 Aug
5605 Poppins Frank
I 14
4 Aug
6586 Parmor E
C 23
7 Aug
7290 Park James Cav
E 30
4 Sept
10040 Pillsbury F “
C 30
4 Oct
10237 Paul John C “
G 2
4 Oct
11041 Page E
I 17
4 Oct
11307 Powers A
H 22
Packard M G, 1 Nov
11992 A
Cor A 13
12198 Pike N N 4 Nov
I 30
4 Mar
12721 Perry A B 65
H 3
1 June
1888 Reed D W Cav 64
- 13
1 Aug
6699 Ransom Geo W Art
L 24
11 Sept
7697 Roscoe C
H 3
11 Sept
8138 Roberts J M
K 8
1 Sept
8173 Richards J Cav
L 8
4 Sept
9462 Raynor Louis “
C 21
11 Sept
9894 Ross H E Bat
K 27
11 Oct
11009 Reynolds F
F 16
4 Oct
11426 Raney A
A 24
14 Oct
11691 Rice F W
F 13
9 Jan
12519 Rouncervee E T 65
D 25
1 Apr
648 Spoore W O Cav 64
B 20
1 July
2943 Smith J C
H 6
11 July
3382 St John A
A 17
4580 Seward O 5 Aug
C 2
4 Aug
5707 Skinner F A
H 15
1 Aug
5963 Stone Jas A Art
H 17
1 Aug
6640 Simons L
G 23
4 Sept
7509 Seaton T B
F 1
11 Sept
7810 Sweeney Henry
C 4
17 Sept
7813 Sprout A
F 4
11 Sept
8444 Stockwell A
H 11
4 Sept
10696 Sanburn H
G 11
4 Sept
10811 Styles A B, Cor
K 12
1 Sept
10897 Sheldon H Cav
M 14
1 Oct
11282 Sarlett L
M 22
4 Oct
11476 Swaddle W
G 26
1 Nov
11966 Sanborn M L Art
A 11
4 Dec
12266 Scott R O
F 12
1 Jan
12514 Shay J Cav 65
K 23
1 Jan
12552 Sheldon G
K 29
12567 Stewart E W 11 Feb
A 1
1 Aug
5911 Scott Geo W Cav 64
C 17
1 Sept
8436 Suppes T E “
K 11
1 July
3784 Tuttle C S “
F 22
9 Aug
5833 Tatro Alfred 64
F 16
1 Aug
6587 Taylor H C Art
L 23
17 Aug
6659 Trow H
D 24
11 Sept
9374 Tanner H, Cor
I 20
11 Sept
9574 Tolman W C, S’t
F 23
1 Oct
11171 Taylor J W Art
A 19
1 Oct
11220 Thompson W A “
I 20
11 Aug
5693 Varnum E G J
F 15
9 July
3177 Weller D
B 11
6 July
4376 Whitehall Geo
B 31
6 July
4485 Wilson A
B 31
11 Aug
4585 Wilder L F
H 2
5075 Whitney A 9 Aug
D 8
10 Aug
5307 Warner Geo O
E 11
1 Aug
5751 Woodworth S P Art
H 15
4 Aug
7063 Wells Geo A
F 28
11 Aug
7322 Wright ES Art
A 30
1 Sept
7689 Witt T Cav
F 3
11 Sept
7920 Ward Alfred
A 5
1 Sept
8239 Watkins G C
C 9
11 Sept
9264 Woodmance G
F 9
11 Sept
9178 Welles C
H 18
11 Oct
10510 White A
A 8
4 Oct
10741 Webster W A, S’t
A 11
4 Oct
11289 Wakefield J W
H 22
1 Oct
11398 Woods J M
F 24
11 Nov
11783 Wheeler B
K 3
3 Nov
11840 Warden G
B 5
1 Nov
11865 Worthers S T Cav
D 6

You might also like