►
Description
Join members from the ASP.NET teams for our community standup covering great community contributions for ASP.NET, ASP.NET Core, and more.
Community links for this week: https://www.one-tab.com/page/IvBcFoTwSHCTrurvEoadkA
B
A
B
A
A
A
B
B
B
B
B
B
B
C
C
A
B
C
B
A
C
Called
CRO
PI
as
a
Chinese
company
and
I
did
a
Kickstarter.
If
you
search
for
CRO
w
pi,
you
can
fit
their
kick
starters
from
last
year
and
then
the
very
first.
The
very
first
thing
is
the
Kickstarter.
The
second
one
is
elect:
CRO
ELC,
ro
W,
and
it's
it's
everything
oh
and
I.
Didn't
turn
it
on,
but
that
it's
actually
an
LCD
touchscreen
o
in.
C
A
A
C
A
C
A
A
B
A
B
C
B
A
B
A
A
Right
we
have
a
few
I'm,
starting
with
two
from
the
identity
server
folks,
so
Dominic,
and
this
is
on
automatic
Oh
auth
to
token
management
in
asp,
net,
core
they're,
updating
their
workshop
content
for
NDC,
London
and
other
upcoming
NDC's
they've
got
several
coming
up
so
here
this
is
talking
about
the
token
management
so
requesting
and
using
a
token
is
easy
enough,
but
then
there's
other
stuff
you
need
to
do.
You
need
to
actually
manage
you
need
to
handle
refresh
tokens.
A
You
need
to
make
it
work
in
web
farms
etc,
and
so
they
talk
about
what
they've
got
with
OAuth
token.
Excuse
me
with
the
authentication
handler
so
talking
about
kind
of
the
nitty-gritty
stuff
of
what's
involved.
Some
of
this
is
kind
of
pointing
over
to
what's
in
their
content,
which
which
is
up
on
github.
So
that's
exciting.
That's
cool!
A
A
C
A
To
full
filled
traps,
so
here
this
is
an
issue
with
Safari
on
iOS
and
specifically,
it's
changes
for
single
single
site
or
same
site.
Cookie
did
I,
say
wrong
there,
cookie
implementation
with
lacks
mode
and
the
issue
with
the
redirection
and
I
believe
step
three
here.
So
in
the
submit
token
or
a
step
four.
A
So
we
had
on
our
last
call.
We
talked
about
some
stuff
of
implementing
custom
providers,
so
you
know
plugging
in
your
own
providers.
For
so
we
had
talked
on
the
call
about
hooking
him
with
Google
Twitter.
You
know
the
the
big
both
providers,
so
Peter
got
back
to
us
and
talked
about
one
that
they
set
up
to
work
with
Swedish
digital
ID.
A
So
he
said
in
his
case.
You
know
we
talked
about
on
last
week's
stand-up
about
you
know
whether
you
can
just
override
and
use
a
generic
open,
ID
Connect
provider.
Peter
said
in
their
case
they
weren't
able
to
he,
so
he
links
over
to
his
to
they
open
source
their
implementation.
So
here
is
an
implementation
that
shows
you
know
real
life
scenario
and
then
he
also
made
use
of
this
blog
post.
So
this
is
creating
an
authentication
scheme
in
asp
net
core
two.
B
Stuff
reminds
me,
speaking
of
the
auth
and
token
stuff
and
dominic
earlier
from
an
email
that
he
sent
me
recently.
We
we
have
a
feature
to
add
to
the
HTTP
rappelled
demos
that
we've
been
that
we've
shown
previously,
where
you
can,
the
rapper
could
do
the
you
know,
get
a
gain,
a
token
to
be
able
to
talk
to
an
authenticated
API,
which
that's.
A
A
B
A
A
Yep
yeah,
so
here
he
talks
about
I
start
a
filter,
Application
Lifecycle
hosted
service
talks
about.
Why,
specifically
doing
it
an
interesting
thing,
he
brought
up
in
I
believe
it's.
This
there's
two
posts.
Yeah
said
why
not
use
health
checks
and
I
hadn't,
even
thought
of
like
I
guess
you
could
use
health
checks
as
a
way
of
trying
to
do
this,
but
he
talks
about
specifically
why
that's
kind
of
a
bad
idea.
I.
A
B
A
B
A
B
A
The
examples
he
pointed
out
here
were
things
like
running
database
migrations,
populating
a
cache
things
like
that
so
yeah,
and
he
does
talk
about
here-
validating
configurations,
correct
and
that's
an
example
where
I
would
think.
Maybe
a
health
check
wouldn't
make
sense,
but
the
other
ones
like
database,
migrations,
I,
you
know,
would
not
put
in
a
check
right.
Yeah.
A
C
B
B
A
B
B
To
note
here
is
that,
if
you're
doing
stuff
in
program
main
see,
if
you
scroll
back
up
a
bit,
see
he's
not
doing
it
in
create
the
important
thing
that
I
was
going
to
mention
was
not
to
do
stuff
inside
create
web
post
builder,
because
if
you
do
it'll
start
to
get
executed.
Potentially,
when
you
don't
expect
it
to.
A
B
A
B
It
up
I'll
have
to
go
and
read
these
jestingly,
this
kind
of
task,
if
kind
of
or
was
it,
register
background
tasks
like
take
this
take
this
code.
An
executor
for
me
in
the
background,
was
a
one
of
the
examples
that
we
talked
about
a
lot
when
we
were
designing
and
building
what
became
hosted
services
so
I
hosted.
C
B
Us
and
so
on.
We
even
talked
about
potentially
shipping
a
thing
that
kind
of
copied
what
we
did
in
system
web,
where
you
could
register
a
task
and
execute
later,
but
we
never
actually
shipped
one
in
the
box.
But
it's
cool
to
see
people
writing
articles
kind
of
showing
the
things
that
we
theorized
would
be
possible
to
build
with
these
types
of
building
blocks,
which
is
great
well.
A
A
You
know
using
a
stat
one
of
those
single
serving
websites
to
just
spider
my
site,
but
I
looked
at
this
as
kind
of
a
nice
kind
of
upgrade
that
I'm
thinking
of
adding
in
so
this
is
a
dynamic
site
map
generator
and
it
works
with
both
razor
pages
and
MVC.
So
you
just
register
as
middleware
and
it
registers
a
route
that'll
point
to
a
you
know:
you
request
sitemap
XML
and
it'll
it'll,
get
that
for
you
and
it's
cached
and
everything
so
pretty
cool
and
nice
to
see
that
it
was
recently
updated
as
well.
A
B
A
Sorry
we
talked
about
last
week
about
how
she
had
had
that
kind
of
cool
Easter
Egg
with
his
happy
new
year,
syria's
last
series
and
now
he's
doing
an
A
through
Z
series,
so
here
he's
up
to
Blaser,
so
this
is
he's
been
doing.
These
are
you
know
a
nice
high
quality
posts?
It's
it's
great
to
see
the
kind
of
amount
of
detail
he's
continuing
put
into
these.
So
this
is,
you
know,
digging
into
blazer,
explaining
all
the
kind
of
how
its
hooked
up
and
how
its
run
talking
about
client
and
server
side.
A
They're
running
a
workshop
and
I'm
sure
there's
sessions
as
well,
yep
and
while
you're
talking
about
that
I
have
to
also
this
is
along
the
lines
of
shameless
plugs.
This
is
one
we
there's
still
room
in
this.
This
is
Damien
and
David
and
I
are
doing
this
this
workshop.
So
this
is
the
asp
net
core
workshop,
updated.
A
A
A
And
then
it's
also
this
all
if
this
goes
out
in
our
you
know
the
workshops
out
on
github
and
anyone
else.
Can
you
set
to
yeah.
B
A
So,
just
a
few
wrapping
up
here,
some
some
neat
content.
I
saw
from
telluric
come
out,
so
this
is
Edie
I've
been
keeping
up
as
we're
talking
about
blazer
I've
been
keeping
up
with
his
status
change.
He
does
a
twitch
stream
on
Fridays,
so
some
good
stuff
there
I
noticed
he
wrote
up
this
about
tag
helpers
with
telluric
tech
helpers.
So
these
are
it's
neat
to
see
tag
helpers
being
used
for
some
kind
of
more
advanced
or
interesting
scenarios.
A
So
this
is
telluric
tag
helpers
for
for
working
with
telluric
controls,
so
you
know
it
goes
through
building
an
application
and
then
using
take
helpers
just
to
integrate
and
work
with
with
telluric
components.
Things
like
you
know,
date,
pickers
and
stuff.
So
that
was
neat
and
one
other
thing
just
while
I
was
looking
across
at
telluric
because
they
also
have
posted
from
dev
reach.
So
there's
some
some
content.
There
I
did
talk
on
blazer.
We
had
dotnet
quarter
today
and
tomorrow
a
lot
of
good
content
there.
B
B
C
B
B
C
B
B
I
have
some
demos
for
you.
Today
we
were
speaking
of
3d
printers.
We
were
talking
about
why
there
was
a
3d
printer
just
beside
me.
That
I
think
is
just
off
camera
now
we
said
we
probably
should
it
should
printer
through
if
they
weren't
so
noisy.
We
should
like
print
a.net,
but
like
every
episode,
it
would
have
been
would
have
been
amazing.
Oh
I
can
do
that.
B
I
am
gonna
press
a
bunch
of
buttons
until
I
find
one
that
shows
me
shows
me
what
I
need
to
say
need
to
see.
We
have
visual
studio
and
we
have
some
some
people
next
to
it,
but
I'm
gonna
switch
to
this
so
that
you
can
see
the
screen
better,
because
otherwise
Scott
will
be
very
quick
to
say
nobody
can
see.
Can
you
switch
to
the
other
screen
for
the
love
of
God.
C
B
No
just
wait
a
minute,
just
wait:
til,
there's
some
code
on
the
screen
and
that'll,
be
your
prompt
to
tell
me
that
I
have
to
have
my
font,
okay,
the
what
what
I'm
we're
going
to
talk
about
is
we
started.
We
talked
a
whole
lot
into
to
about
a
feature
that
we
never
really
shipped,
which
was
client,
gen
and
swagger.
We
talked
about
API
analyzers
of
being
able
to
get
good
swagger
that
we
kind
of
shipped.
There
was
a
second
part
of
that.
B
The
first
part
was
I'm
gonna
get
some
swagger
that
looks
really
good
and
a
good
open,
API
doc
out
of
an
API
I
kind
of
by
default
and
help
guide
you
in
making
and
keeping
that
document
good
and
then
the
second
part
of
that
was.
We
were
going
to
give
you
support
for
generating
a
client
to
then
talk
to
that
API
based
upon
that
swagger
document.
B
As
well,
you
could
follow
along
at
home
with
it
is
actually
all
on
you
get
and
usable,
but
the
bits
of
it
that
we
have
shipped
is
in
a
preview
state
is
the
only
is
the
takeaway
so
going
to
what
the
first
thing
that
you
need
is:
there's
an
open
source
project
called
n
swag,
so
we're
gonna
go
to
new,
get
and
I'm
going
to
search
for
n
swag
asp
net
core.
You
see
how
you
can
press
tab
in
google
and
it
likes
searches
on
do
get.
B
Did
you
know
that
it's
in
pretty
amazing
just
to
make
sure
I
get
the
latest
version?
So
for
those
of
you
who
were
maybe
more
familiar
with
swashbuckle
and
swag
is
just
an
is
another
open
source
library
that
can
generate
swagger
from
your
code
as
well
as
he
and
n
swag
also
does
the
other
side
of
that
which
is.
It
will
also
generate
code
from
a
swagger
document,
whereas
swashbuckle
only
generates
you,
the
the
open,
API
doc,
open,
API
and
swagger
interchangeable
I'm
going
to
continue
to
use
them
interchangeably
throughout
this
conversation.
B
Just
so,
everybody
is
on
board.
So
I
came
here
to
show
you
this
and
to
grab
this
version
number
I'm
going
to
do
this
one
the
manual
way
I'm
gonna
go
edit.
My
my
CS
proj.
Could
you
go
add
me
a
package
reference,
I'm
gonna
include
and
swag
asp
net
core
and
we're
gonna
go
with
version,
the
one
that
I
just
grabbed
from
from
the
new
gets
announced
new
j
I
believe
news.
Yet
perhaps
so
then,
head
swag
today
is
pinnacle.
B
It's
going
to
go
to
its
thing,
then
you
jump
back
in
my
startup
CS
and
it's
just
here
in
configure
services,
just
gonna,
say,
services,
dot,
add
swagger
or
add
open
API
document
depending
upon
he,
during
the
like
moving
to
the
newer
versions
of
swag,
when
swag
am
removed,
open
API,
would
they
also
change
this
method
name?
So
the
swagger
method
is
kind
of
the
older
versions
of
a
document
open.
B
If
you
had
open
is
a
new
one,
and
so,
interestingly,
for
those
of
you
who
have
done
this
before
the
next
thing,
you
would
typically
do
is
go
here
and
say
like
don't,
you
swagger
write
an
app,
don't
use
app,
got
you
swagger,
UI
right,
and
so
these
API
these
method
calls.
These
two
method
calls
here
are
the
these:
are
the
middleware
that
will
actually
render
you
a
swaggy
UI
with
buttons.
You
can
click,
and
you
can
execute
your
thing
and
stuff
like
that
right.
B
So
this
is
kind
of
this
is
swaggy
UI
right
for
those
of
you
have
seen
it,
you
can
go
and
like
exercise,
your
API,
you
can,
you
can
try
it
out,
you
can
make
it
give
you
some
values
back.
You
can
play
around
with
stuff
right
play
around
with
your
API
test.
It
out.
It's
super
cool,
but
also
not
required
in
this
case,
to
do
this
sampler
demo,
so
I'm
gonna
leave
them
there,
but
not
actually,
you
don't
actually
need
to
publish
the
UI
or
publish
the
swagger
document
to
a
URI.
B
B
B
Avocado
and
then
we
will
make
it
like
an
MVC
app
when
you
go
okay
and
then
set
this
to
start
off
while
I'm
here,
okay,
so
now
we
have
us
an
API.
This
generating
is
doing
a
swagger.
It's
gonna
give
me
it's
got
a
swagger
document
describing
what
it
does.
We
created
this
new
app
called
avocado,
it's
gonna,
it's
gonna
hit
the
world
by
storm.
We're
gonna
do
some
seed
funding,
it's
gonna
be
great.
First
thing:
it's
going
to
go,
do
is
talk
to
our
values,
controller
and
as
such,
we
want
a
client.
B
So
now,
I'm
gonna
go
manage
NuGet
packages.
We're
gonna
talk
about
something
kind
of
interesting
about
this
package
that
I
want
is
called
an
swag
dot.
Msbuild
and
I'm
gonna
get
the
same
version.
I
got
before
twelve
point,
eight
point:
eleven
they're,
just
the
latest
one
that
he's
got
and
just
install
this
package
and
kind
of
it'll
all
become
clear.
Now
the
reason
that
I
went
and
manually
added
and
swag
to
one
and
then
used
the
new
gate,
API
and
another
is
if
I
now
go
and
edit
my
avocado
dot,
CS
proj.
B
B
This
stuff
here
so
the
what
the
difference
here
is
kind
of
interesting
right
like
over.
In
my
other
API
I
just
said:
yeah
reference
me
cement,
swag
and
over
here
when
I
used
nougat
to
like
had
a
package
after
this
ends
drag
package.
I
got
this
kind
of
crazy.
Private
assets
include
asset
stuff
right
and
one
of
the
first
things
it
tends
to
occur
to
people
when
they
see
this
thing
is
what
what's?
What's
the
go?
B
So
if
you
over
here
this
is
my
nougat
folder,
where
the
new
spec
for
this
package
that
we
just
added
gets
downloaded
to.
If
we
opened
this
in
code,
I'm
going
to
show
you
why
this
happens
so
that
just
as
enough
of
an
interest
learning
aside,
hopefully
this
will
be
the
most
informative
stream.
You've
used
we've
watched
in
years,
so
him
here.
It
says
this
is
a
development
dependency
right.
B
So
because
this
is
a
development
dependency
it
and
that's
what
Newgate
does
to
your
CS
proj
and
what
all
that
stuff
does
that
you
saw
was.
Is
it
stops?
If
you
were
to
generate
a
package
from
this
and
not
be
an
app,
for
example,
it
wouldn't
the
package
reference
to
this
thing,
which
is
just
generating
code,
doesn't
float,
but
other
people
who
depend
upon
your
package
mm-hmm.
B
So
it's
kind
of
a
cool
thing
that
we
did,
that
he
did
so
that
you
know
if
you're,
just
using
client
gen,
it's
not
gonna,
it's
not
going
to
mean
if
you
using
client
gen
in
a
library.
It's
no!
You
know
you
don't
want
the
glue
code
that
you
need
it
in
order
to
generate
your
client
and
like
be
advertised
and
published
out
to
other
people
right.
So,
let's
go
into
avocado.
We
have
a
dependency
on.
B
We
now
have
a
dependency
on
the
package,
so
let's
edit
avocado,
CS
progeny
kan'u
item
group
because
mixing
you
know,
package
reference
as
and
and
project
references
is
a
terrible
idea.
The
idea
here
was
that
we
wanted
to
make
something
that
was
kind
of
like
as
close
as
possible
to
a
CS,
progerin
s--.
So
in
here,
what
we're
going
to
say
is
we
want
to
go
up
one
because
of
the
way
the
directory
structure
is
and
we
want
to
go
into
swag
API
and
go
swag.
B
Api
GS
bridge
just
built
right,
probably
yes,
and
then
what
I'm
gonna
say
is
code
generator
is
this
now,
unfortunately,
we
don't
have
eventually
I
should
say
visual
studio,
tooling,
you'll
be
able
to
do
like
right.
Click,
add
me
a
reference
to
a
CS
proj
and
everything
will
like
get
generated
into
stuff
for
you
right
now.
C
C
B
So
I
I
did
go
out
of
my
way
to
show
them
you
get
API
just
so
you
can
see
this
crazy
stuff.
I
tend
to
prefer
opening
it
up
in
in
in
the
CS
opening
the
CS,
proj
and
typing
right,
but
I,
don't
know,
I,
think
it's
just
a
whatever
makes
you
happy,
like
other
than
your
CS
produce
a
big
deal,
but
it's
also
a
whole
bunch
of
you
know
XML
a
stuff
in
here.
B
That's
that's,
that's
kind
of
potentially
scaring
the
people
right,
so
I'm
not
sure
I
I
expect
so
I
will
say,
though,
that
we're
only
making
it
easier
right
like
if
this
was
a
newer
version
of
Visual
Studio
double
clicking.
This
would
open
the
up.
The
XML
file
will
open
it
up
as
an
XML
file.
Instead
of
having
to
do
right-click
at
it.
C
A
I
love
that
being
able
to
draw
back
to
it
like
it
always
felt
like
when
Visual
Studio
is
doing
magic
stuff,
then
I
was
always
scared
of
the
code
it
would
generate.
So
this
is
always
like
I'll
find
myself
kind
of
popping
between
you
know,
working
Visual,
Studio
and
then
be
like
heck
with
it
and
get
to
Visual
Studio
code
and
open
the
CS
proj,
and
you
know
back
and
forth
it's
nice
to
have
the
flexibility
yeah.
B
C
B
C
B
C
B
B
B
Careful
to
note
I
haven't
said,
build
yet:
okay,
I'm
gonna
say
that,
because
you
can't
tell
because
I
would
have
used
the
keyboard
to
do
it,
but
we'll
continue
talking.
So
the
thing
that
clued
me
onto
the
fact
that
I
had
added
the
wrong
package
name
by
mistake
was
that
I
knew
there
was
dependencies
here
and
when
I
came
over
to
show,
then
they
weren't
there
and
then
I
went
oh
I
know
what's
going
on,
but
as
I
said,
the
tooling
should
add.
We
saw
for
you
once
we
get
to
the
point
where
there's
tooling.
B
For
now
you
need
to
know
the
right
package
to
add
how
to
do
this
XML
element,
partly
why
this
thing
and
what
I
was
going
to
say
was
when
you
said:
if
I
can't
do
it,
how
could
anybody
say?
Well?
That's
why
we
still
part
of
that's
partly
why
this
thing
here
still
has
previewing
the
name
so
because
I've
got
this
open.
What
I
guess
we're
seeing
here
is
n
swagger
msbuild
cogeneration
is
a
package
it's
owned
by
n
swag.
It
exists,
it
does
Co
gen,
it
does
swagger
generation.
B
But
this
but
I'm,
saying
hey,
we
did
this
feature
and
so
far
I
haven't
showed
you
anything
that
we
did
right.
So
this
Microsoft
extensions,
API
description,
type
design,
is
a
package
we
shipped
that
n
swag
depends
upon
which
makes
this
service
reference
element
work,
so
it
makes
sense
so
without
an
swag
and
without
swashbuckle
and
without
auto
rest
without
all
those
guys
which
are
all
the
people
we
hope
to
have
working
before.
We
want
to
know
this.
B
None
of
this
experience
works
because
I
didn't
write
a
swagger
generator
or
a
code
generator
or
anything
like
that,
but
over
here
in
my
solution,
Explorer
you'll
notice
that
I
do
have
now
a
swagger
API,
dot,
v1,
v1,
client
ICS.
This
generated
code
and
I
have
this
swagger
API
v1
dot
JSON
file.
So
what
happens
here
is
that
the
apparently
like
the
code
doesn't
compile
for
some
reason,
so
we'll
work
that
out
in
a
minute.
B
So
apparently,
so
what
happens
here
is
that
the
this
service
project
reference
varies
msbuild
and
stuff
inside
that
package,
ref
that
I
just
pointed
out
the
Microsoft
one
knows
how
to
go
find
go
to
find
at
a
CS
proj
for
the
swag
API.
In
this
case
it
knows
how
to
load
it.
It
knows
how
to
get
the
swagger
document,
it'll
save
it,
and
then
it
will
execute
n
swags
existing
code
generation
tools
to
be
able
to
to
generate
the
code
on
disk
right.
B
B
B
B
So
if
you
are
in
the
world
where
maybe
it
takes
a
really
long
time,
for
whatever
reason
to
generate
code,
we're
pretty
pretty
careful
of
doing
dirty,
checking
to
make
sure
that
like
we
only
do
it
when
it's
required
and
not
all
the
time
right,
okay
and
then
I
believe
class
name.
Here
is
a
thing
we
could
change
this
to
my
client
and
then
this
will
then
get
us
a
my
client.
B
So
one
of
the
other
things
to
notice
I'm
trying
to
show
you
all
the
gotchas
that
you
might
hit
as
well
as
like
show
you
the
demo
here.
We
can't
no
it'll
clean
up
after
ourselves.
If
you
change
it
basically
right
now,
so
you
see
I
changed
the
name
of
it
to
my
client.
So
now
I
have
a
my
client
ICS
here,
but
I
still
got
this
old
one
over
here,
because
we
don't
know
to
go
delete
this
thing.
B
So,
whilst
you're
early
on
you
are
messing
around
with
names
and
namespaces
and
stuff
like
that
and
you're
trying
to
work
out
how
you
want
your
client
to
work,
that'll
probably
be
a
problem
that
you
might
hit
at
some
point
where
you're
like
oh
I've,
got
two
of
these
because
I
change,
the
directory
and
I
don't
know
so
we
saved
a
JSON
file.
We
leave
this
here,
it's
up
to
you.
B
If
you
leave
it,
there's
a
property
you
can
set
globally
or
in
here
which
will
move
it
to
some
other
spot
like
you
can
move
it
into
obstacle
way.
We
expect
to
probably
put
it
in
AAB
once
the
feature
ships
by
default,
in
which
case
you
never
see
this
JSON
file,
it's
kind
of
an
implementation
detail.
You
just
get
a
client,
but
then,
if
you
like
it-
and
you
want
that
JSON
file
in
there-
perhaps
you're
gonna
check
it
in
and
say
this
client
is
generated
by
this
swagger
document.
B
Every
time,
for
example,
it
might
be
a
thing
that
you
want
to
do
then
then
go
for
it
and
I'm,
not
a
hundred
percent.
Sure
of
the
document.
For
that
yet
like
it
feels
like
the
right
thing
to
do,
is
to
hide
it
and
put
it
in
our,
but
somewhat
you
know
contingent
upon
what
people
want
like
you
feel
free
for
everybody
out.
There
really
wants
their
JSON
file
in
there
when
they
using
client
Jen,
and
they
want
to
check
it
in
or
whatever.
Then
we
should
we'll
do
something
different.
B
C
B
So
far,
client
equals
new.
What
I
call
it
my
client,
right
and
and
the
client
takes
the
black
path
that
you
want
to
do,
and
it
takes
a
new
patient
to
be
client
right.
Then
they've
heard
that
used
to
be
a
client,
that's
going
to
use,
and
then
you
can
execute
it
and
then,
if
you
look
at
the
API
as
you
get
on
this,
this
is
going
to
be
different
depending
upon
what
client
generator
you
use.
B
But
this
now
we
have,
you
know,
get
all
and
get
which
our
API
is
on
our
thing
right
and
then
we
compute
the
only
right.
This
is
our
values,
controller
that
we're
now
invoking
directly
here.
So
that's
kind
of
cool,
but
it
also
integrates
with
another
feature
that
we
worked
on
I'm,
trying
to
show
you
kind
of
the
end-to-end
arc
it
works
with.
Another
two
features
is
one
I
mentioned
API
analyzes.
B
If
you
haven't
seen
them
go
search
for
them
as
well,
and
the
API
can
API
conventions
and
analyzers
we
added
they
will
both
work
to
work
to
getting
the
swagger
document
to
be
better
so
that
the
cloud
generated
code
can
be
better.
But
then
also
we
added
HTTP
client
factory
I
think
you
might
recall,
John,
remember
yeah.
So
if.
B
In
here
we
could
say
typed,
client
and
basically,
we
use
this
constructor,
this
factory
method,
to
say
this.
This
function
actually
from
to
say
we're
gonna
use
my
client
every
time.
Somebody
wants
one
of
these
types
of
HTTP
clients
and
we're
gonna,
give
it
a
URL
that
we
would
probably
get
out
of
di,
and
then
we
would
pass
it.
The
HTTP
client
that
gets
managed
by
the
HTTP
client
factory
right
and
so
now
over
in
my
controller,
I
can
say:
okay
now,
I'm,
just
gonna
accept
my
client
in
here.
B
It's
all
managed
by
di
for
me,
I
and
now
my
httpclient
will
be
like
disposed
of
periodically.
I
can
I
can
rely
on
deaier
to
make
sure
things
are
good
I'm,
not
truck
I'm,
not
gonna
rain,
socket
exhaustion,
because
I've
created
too
many
HTTP
clients
over
and
over
again
all
that
sort
of
stuff,
right
and
I
can
save
our
values
equals
that
it's
just
async
sky
action
result
of
tea
going
away
so
on
and
so
forth.
B
Right
so
here,
I
would
have
values
if
I
was
to
make
this
actually
work,
which
I
guess
I
could
do.
I
said
this
is
a
startup
project,
it's
just
none
of
our
other
demos
of
since
none
of
our
other
parts
of
going
wrong.
Yet
it's
about
time
to
try
and
do
something
than
mine,
so
I
control
there,
five
that
one.
So
it's
just
running
in
the
background
and
it's
running
at
what
four
four
three
two
three.
So
let's
go
in
here.
B
B
You
know
home
controller,
so
many
windows
on
this
resolution
and
it's
carrying
some
of
these
and
we
see
values
and
we
have
some
values
right.
So
this
actually
went
and
called
our
values.
Api
that's
running
on
our
thing
and
it
grabs
some
grab
the
values
out
and
it
returned
them
and
we
have
the
restrains
a
strongly
typed.
B
B
Perhaps
not
perhaps,
I
am
a
dirty
rotten
liar
I'm,
pretty
sure
that
when
the
when
this
generates,
when
this
actually
generates
when
it
knows
it
actually
does
need
to
do
something,
you
can
see
it
in
the
build
output
where
it
yeah
just
here
see
so
you
saw
then
I
built
it
didn't
show
and
then
I
deleted
the
swagger
document
for
my
project,
which
made
it
now
I
thought.
Oh
I
do
have
to
build
it
because
the
document
isn't
there
and
then
it
ran-
and
you
can
see
in
here
how
long
the
execution
talk.
B
A
A
B
So
whilst
this
is
a
brand-new
kind
of
way
feature
it
kind
of
works
in
a
bunch
of
locations,
because
it's
mostly
msbuild
and
whatever
the
stuff,
whatever
thing
works,
so
it'll
work
like
it
wasn't
necessarily
designed
to
work.
It
wasn't
necessarily
an
initial
design
goal
to
make
it
work
back
further
than
since
it
was
part
of
a
wave,
but
it
does
work.
B
Yeah
but
yeah
the
intent
with
this
was
it
was
going
to
be
part
of.
We
didn't
quite
get
done
so
we
held
it
back
and
our
hope
is
to
ship
it
basically
in
between
two
two
and
three
hours
so
hopefully
before
300,
ships
with
this
thing
will
be
RTM
but,
as
you
just
saw,
these
stuff
is
on
NuGet
now
so
the
plan
is,
you
know
we
we
want
to
get
we.
What
n
swagg
does
both
generation
and
it
does
with
generation
of
swagger
and
of
a
client.
B
We
want
to
also
try
and
work
on
getting
auto
arrest
to
work
and
swashbuckle
to
work
and
a
few
of
those
things.
Then,
once
we've
kind
of
proved
out
that
we
have
all
of
those
working,
we'll
probably
ship
do
more
announcements
of
it
and
ship
kind
of
a
more
formal
release
like
a
beta
or
something,
and
then
we
don't
ship
those
we
just
call
it
previews,
but
so
another
preview
that
we
talk
more
about
and
then
fixing
bugs
and
such
and
then
we'll
and
then
warship
like
ship
properly
time
in
the
next
couple
of
months.
B
The
assuming
that
we
get
everything
get
everything
done.
We
also
have
a
little
bit
of
time.
Maybe
we
still
don't
know
we
don't
know
about
things
like
you
know
how
good
we
may
spend
some
time
trying
to
help
out
and
swag
and
all
swashbuckle
as
we
go.
We're
not
sure
yet
depends
on
okay,
we've
got
but
yeah,
that's
that
is
there
any
other
questions
about
like
that
stuff.
B
So
this
is
a
generated
code.
It's
not
something
that
we've
done
as
I
said
it's
all
just
in
swagging
away
and
swag
works.
There's
a
few
things
in
here
that
there's
stuff
in
here
that
everybody
everybody
can
find
something
to
pick
on
about
in
generated
code.
You
know
we
might
try
and
do
a
pass
for
generated
code
and
see
how
good
it
is,
but
it
generally
is
okay
cool.
B
A
A
B
C
B
Yeah
I
can't
remember
my
apologies
with
what
he
uses
to
generate
code,
but
it
is
an
open
source
project.
So
if
you
go
to
his
github
repo
you'll
be
able
to
find
out
all
the
things
about
in
swag
and
we'll,
hopefully,
move
to
will
hopefully
also
have
one
arrest
before
we
ship.
So
you
better,
choose
and
use
your
arrest
or
duress
has
kind
of
a
pluggable
system.
It
could
generate
lots
of
stuff.
We
mainly
focused
on
being
able
to
get
c-sharp
and
typescript
as
the
things
that
can
be
generated.
B
B
Know
generous
support
for
those
in
the
generator
where's,
my
graph
QL,
because
this
thing
kinda
looks
like
it
might
have
something
to
do
with
those
as
I'm.
So
it's
that
kind
of
that
kind
of
gist,
I
guess
so
graph
QL
is
interesting.
There
are
some
libraries
out
there
that
do
a
graph
QL
already,
some
of
them
look
pretty
good,
and
it's
not
yet
obvious
to
me
that
we
would
provide
significant
value
in
jumping
in
in
the
graphic
QL
space.
B
Yet
I,
don't
know
that
for
sure,
like
I
haven't
spent
a
lot
of
time
doing
into
it
yet,
but
the
kind
of
the
amount
of
investigation
that
I've
done
makes
me
question
whether
or
not
there's
more,
that
we
should
that
we
really
need
to
invest
in
terms
of
taking
people
away
from
raising
components,
and
you
know
other
things
that
we've
aware
that
we're
working
on.
So
that's
where
kind
of
graph
QL
is
Oh.
Data
is
a
thing
it's
owned
by
a
team
of
Microsoft,
and
it's
not
me
is.
A
B
He
does
it
because
he
cares.
He
has
a
really
good,
I
think
and
a
really
good
attitude.
We've
talked
to
him
a
few
times
and
cause
when
we
were
talking
about
what
we
were
going
to
do.
He
tries
really
hard
to
please
everybody
to
like
make
sure
that
he
can
generate
all
the
things
that
people
want
and
run
in
all
the
places
that
people
were
run
in
and
stuff
like
that.
B
B
B
A
A
B
A
B
This
literally,
what
this
repo
is
so
that
everybody
is
aware
I
was
playing
with
the
feature
the
very
first
day
it
was
possible
to
play
with
it.
I
created
a
bunch
of
projects
were
like
on
a
TV
screen
with
Damien
sitting
next
to
me,
and
then
I
checked
them
in
so
don't
expect
it
to
be
documented
and
significant
and
good.
It's
just
like.
There
is
some
codes
out
there.
If
you
need
a
reference,
you
can't
remember
what
to
copy
and
paste,
but
you
know
that
you
could
do
a
thing
going.
B
However,
there
is
also
you
know:
there's
also
some
other
efforts
around,
like
maybe
it'll
work
to
generate
GPC
clients,
for
example
nice,
so
I
have
a
some
codes.
I
have
some
I
have
have
some
codes,
I
have
a
I,
have
a
command
console
and
I'm
gonna
say
donate
new
in
here,
and
what
I
have
here
that
John
doesn't
have?
Is
this
guy?
B
It's
called
worker
and
in
here
apparently
I
click.
Paste
I
can
say:
is
this
folder
empty?
Yes,
it
is
I,
guess
a
dotnet
new
worker
and
it
created
me
a
workout
and
now
I
can
open
up
visual
studio
code
and
I
have
a
worker,
so
in
mime
inside
my
program,
CS
now
I
have
a
this
is
for
those
of
you
who
have
been
look
talking
to
some
of
my
other
stuff,
a
generic
host.
B
So
there's
no
webbing
here
we
saw
earlier
there
was
a
create
default
web
post
builder
in
one
of
the
blog
posts
right,
there's
no
web,
because
this
doesn't
have
any
web.
There's
no
kestrel,
there's
no
there's
no
way
to
connect
or
isms
in
here
outside
of
well
depends
on
what
you
think
of
a
nope.
It's
better
what
you
think
of
as
an
ASP,
eight
core
ISM,
but
the
if
you
think
of
generic
host
does
not
use,
connect
or
ism.
Then
then
there
is
a
spinnaker
isms
in
here,
but
there's
no
web
stuff.
B
So
really
all
this
does
is
it
adds
a
hosted
service
to
a
thing
called
worker
and
worker
is
a
type
that
I
have
in
my
application.
Everything
is
red
because
it's
like
restoring
packages
and
trying
to
build
so
never
mind
that,
but
it
gives
you
an
execute
async
method
and
all
this
does
is
runs
over
and
over
again.
So
the
idea
here
is
I.
B
Guess
this
isn't
working
right
now,
it
probably
would
if
I
opened
it
in
a
movie
or
a
studio
or
made
sure
of
all
that
mind
you
get
package
reps,
we're
pointing
it
like
3.0,
hot
bits,
but
that's
okay,
since
we're
on
there
talking
about
the
code.
So
all
this
does
is
when
you
run
it,
it
will
just
forever
spin
and
say
I'm
running.
That's
all!
That's!
Okay!.
C
B
This
is
empty
right,
okay
and
you
can
also,
but
then,
if
you
look
at,
then
the
other
int
idea,
the
other
the
intent.
There,
though,
is
you
have
this
new
worker
template.
So
if
you're
trying
to
do
some
sort
of
cloud
native
application,
you
have
you
know
web
queue,
worker
kind
of
architecture
like
a
micro
service,
the
architecture
then
you're
gonna
have
just
things
that
you
want
to
run
on
a
server.
They
might
pull
messages
off
a
message
queue.
They
might
you
know,
process
some
blob
storage.
That
will
do
something
like
that.
B
A
B
So
and
there's
an
interesting
question
about,
is
this
recommended
over
a
just
web
jobs?
So
web
drops
is
very
different
and
does
a
lot
of
diff
and
one
of
the
things
that
you'll
notice
in
here
that
is,
that
the
donut
new
template
that
I
have
right.
Here,
though,
actually
option
to
choose
web
jobs
for
the
worker
and
then
web
Jobs
has
a
whole
plug-in
system.
It
has
a
whole
ecosystem
and
a
programming
model
and
a
paradigm
for
the
way
you
build
apps.
B
The
way
that
you
would
build
your
app
to
run
and
it
exists,
and
it's
been
around
there.
It
is
basically
the
programming
model,
frasier
functions
it
Asia,
so
and
as
your
web
jobs,
the
library
is
based
upon
generic
host
already.
So
if
you
go
and
make
a
new
web
jobs,
app
it'll
be
basically
the
same
as
this
there'll
be
a
hostess
service.
That's
running
and
it's
gonna
dispatch
to
your
to
your
to
your
jobs
and
stuff.
B
Like
that,
what
we're
saying
what
this,
what
this
template
really
is
doing,
is
saying
it's
recognizing
that
this
is
a
gap
in
them,
that
this
is
a
application
type
that
you
guys
want
and
there's
there's
various
there's
various
tasks
that
you
want
and,
as
with
all
of
these
things,
you
would
provide
the
right
layers
of
choice.
You
have
empty
and
basic
and
for
a
full
framework
and
give
you
give
you
the
options
that
make
you
happy
see
where
see
which
of
those
options
resonate
really
well
with
people
and
then
keep
going
right.
So.
C
B
Same
as
we
do
for
same
as
you
do
for
all
the
things,
so
I
would
not
say
that.
So
it's
really
that
these
this
is
really
you're,
really
nothing
just
seeing
a
merger,
I
guess,
or
a
coevolution
web
job
stuff
from
web
jobs
and
stuff
from
a
wares
or
capabilities
of
web
jobs
has
capabilities
that
we
have
kind
of
coming
together.
It's
what
I'm
trying
to
say
is
what
you
is,
what
you're
kind
of
singing
here
and
then
yeah.
You
should
be
able
to
to
write
things
that
do
stuff
to
do
work.
B
A
A
A
B
B
B
It's
been
a
great
great
on
that
core
application
that
has
all
the
stuff
that
you're
familiar
with
and
just
run
them
all
laughs
good,
and
this
is
the
beginning
and
recognization
of
that.
So
you
can
build
those
things
out
easily
from
a
template
and
get
some
support
and
guessing
like
quicker
support
to
get
things
up
and
running.
Nothing
in
the
template
is
somebody's
stuff
that
is
new
that
template
that
I
have.
B
There
is
all
written
with
like
two
two
bits:
if
you
get
a
nice
print
called
bap
and
oh
sorry,
I
lied
a
little
bit,
there's
a
one
new
method,
which
is
the
create
default
builder
method.
So,
in
the
two
two
bits
you
you
can
make
a
generic
host,
but
in
a
espenak
or
you
have
a
create
different
web
host
builder,
which
gives
you
like
config
and
logging
and
a
bunch
of
stuff
wired
up
by
default.
That
method
doesn't
exist
in
the
only
stuff.
It
only
exists
in
the
new
300
bits.
B
So
if
you
want
to
go,
try
doing
more
host
of
services
and
stuff,
you
can
go,
do
them
with
a
generic
host
without
anywhere
being
there,
but
there'll
be
a
few
things
that
are
a
little
bit
out
of
whack
until
until
we
ship
three
are
unfortunately,
but
it's
mostly
mostly
already
there,
but
if
you're
gonna
just
add
a
host
of
service
just
to
a
web
app,
then,
if
you're,
okay
with
web
being
in
there
because
with
kestrel
and
stuff,
then
it's
definitely
all
good.
So.
A
B
Criminalities
is
the
big
thing
that
comes
brings
to
mind
and
also
this
fabric,
where
you
run
you've
already
got
a
big
you've
already
got
a
cluster
running,
and
you
wanted
to
write
a
background
worker
that
pull
stuff
off
a
blob
story
does
stuff
like
what
functions
does,
but
you
just
want
to
keep
using
the
stuff.
You've
already
got.
You've
already
got
a
big
cluster.
Okay,
I'm
gonna,
deploy
it
there
instead
of
two
as
your
functions.
Right
now
to
me,
some.
B
And
you
know
this
is
kind
of
major
functions
in
it.
You
know
like
once,
you
choose
to
use
web
jobs
and
using
generic
hosts
to
do
web
jobs.
It
is
those
are
functions
right,
we're
just
running
them
yourself
and
you
don't
have
the
you
don't
have
features
of
the
age
of
functions
host,
so
they
might.
There
might
be
a
few
things
that
you
don't
get,
but
you
know
the
code
will
look
the
same
for
the
most
part
because
you
are
writing
a
web
job,
which
is
what
the
dotnet
as
your
functions.
Programming
model
is.
Okay,.
B
A
B
A
B
I
mean
this:
would
let
you
create,
like
I,
mean
using
hosted,
let's
talk
just
about
hosted
services
in
general
because
they
exist
in
web
apps
today
and
you
can
use
them
for
things
and
I.
Had
a
talk,
I
have
a
talk,
I
think
from
NDC
Sydney,
where
I
talked
about
implementing
your
own
kind
of
version
of
web
jobs
just
using
the
primitives
that
we
have
in
a
spinet
core
and
writing
a
little
bit
of
glue
code.
B
You
could
go
find
if
you
really
want
to
look
at
it,
but
you
could
use
hosted
services
to
create
kind
of
a
well
factored
monolith
right
like
separate
there
they're
effectively
separate
apps
right
they're,
like
different
things,
running
within
the
same
nest,
potentially
unrelated
or
at
least
very
loosely
coupled
running
within
a
single
process
that
are
very
easy
to
then
shift
out
to
a
different
process.
If
you
decide
that
you
want
to-
and
it's
very
possible
to
do
that-
maybe
you've
got
code
and
also
to
mix
and
match
things.
B
These
type
of
worker
templates
get
you
further
and
further
into
being
how
to
mix
and
match
those
worlds
and
stick
everything
together.
The
way
that
you
want
to
give
you
a
lot
of
freedom,
instead
of
kind
of
railroading,
you
down
a
particular
path,
path
of
implementation,
because
of
just
because
of
lack
of
documentation,
lack
of
kind
of
small
features
and
stuff
like
that,
okay,.
A
B
B
It's
possible!
We
created
a
scope
before
we
called
you,
so
there's
just
one
scope,
but
don't
think
we
did
anything
and
we
left
it
up
to
you
to
decide
what
to
do
in
that
method.
I
have
to
I'd
have
to
double
check,
but
but
but
think
of
it
that
way
around
there's
no
request
scope,
so
any
scope
services
are
going
to
be
different
and
between
the
two,
which
I
think
you
might
have
said
after
that.
So
yeah
there's
a
fairly
it's
a
fairly
to
be
fairly
easy
to
create
a
scope.
B
A
A
B
You
do
have
that
shared
study.
You
can
take
advantage
of
it
right.
You
can
register
a
service,
the
two
different
things
call
and
you
can
use
that
as
a
really
communicate
between
the
two
services
and
stuff
and
then
once
you
pull
them
out
into
a
different
process.
Well,
then,
you
need
to
introduce
a
transport
between
the
two
things.
If
you
want
to
maintain
that
communication
vector
right.
C
B
So
that's
so
that's
that
yeah,
so
you
can
make
your
own.
So
in
the
if
you
go
watch
the
talk
that
I
did
at
NDC
Sydney,
the
guy
who
was
asking
about
scopes,
I
believe
I,
you
know
in
a
hosted
service.
I
basically
used
some
reflection
to
discover
the
methods
that
I
want
to
call
when
a
message
comes
in
and
then
I
create
a
scope
per
message
so
that
you
get
your
own.
B
B
To
make
sure
everybody
followed
along
with
the
scopes
Hispanic
or
you
get
a
scope
request
and
then
any
services
that
have
been
read
you
get
the
same
instances
of
a
service
that's
being
registered
in
as
scoped
within
that
scope,
but
not
within
any
other
scope.
So
things
like
things
like
HTTP
context,
is
a
scope
service,
for
example,
and
then
in
asp
net
core
request
is
a
single
scope.
When
you're
building
hosted
services,
there
is
no
request
response
boundary
that
makes
it
obvious
for
when
a
scope
should
and
should
not
be
created.
B
So
that
starts
to
then
leave
it
up
to
you
dependent
upon
the
task
that
you're
doing
say.
You
are
processing
messages
from
processing
messages
from
our
message
queue
then
per
message
might
be
the
right
place
to
create
scope.
If
you're
creating.
If
you're
reading
the
files
from
blob
storage,
then
perhaps
you
only
create
a
scope
when
there's
work
to
do
because
you're
using
blob,
storage
and
polling
and
there's
no
files,
no
files,
no
files,
then
you
see
a
file.
B
B
A
B
A
B
A
B
Very
cool
I
believe
is
where
it's
all
is
just
in
the
main
ice
pinnacle
repo,
okay
yeah-
and
it's
called
this-
the
name
of
that
package-
that
if
you
look
at
the
name
of
that
package,
that
in
swag
you
MMS
build
dots
cogeneration
referenced,
which
was
what
Microsoft
extensions
API
description.
No,
not
that
one
yeah
one
of
those
ones,
Microsoft
extensions,
Microsoft,
extensions,
API,
description,
design,
I
believe,
is
that
if
you
go
search
for
that,
you'll
find
the
CS
proj
and
then
you'll
see
it's
just
some
msbuild
and
stuff.
B
It's
mostly
glue,
it's
mostly
stuff
to
be
able
to
invoke
that
create
default.
Web
post,
build
a
method
and
grab
the
type
from
di
to
generate
a
swagger
document
is
the
real
heavy
work
that
it
does
and
the
rest
of
its
kind
of
just
sticking
a
bunch
of
stuff
together,
oh
yeah,
I'm,
being
happy
I'm
sure
dad
will
watch
this
and
be
happy
that
I
realize
or
the
hard
work
that
he
did.
I
just
did
awesome.