►
From YouTube: ASP.NET Community Standup - April 7th 2020 - gRPC Update with Sourabh Shirhatti & James NK
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.theurlist.com/aspnet-standup-2020-04-07
B
B
A
A
Yep
sound
is
good,
hooray,
okay,
wonderful,
I'm,
gonna,
dig
right
in
to
the
community
links,
I've
got
15
community
links
and
after
that
we've
got
a
gr.
Pc
update
from
Rob
and
James
and
I
want
to
give
them
plenty
of
time.
So
here
we
go
community
links,
I
messed
around
with
my
stream
deck
today,
I'm
quite
proud.
A
A
Okay,
so
sir
Rob,
you
you
posted
about
this,
the
asp
net
core
updates
about
in
a
5
preview.
So
this
is
cool
nice
to
see
the
previews
rolling
along
I.
Also
you
linked
over
in
the
docs
and
I
included
those.
This
is
just
a
reminder
for
people
that
may
not
know
this.
We
have
these.
We've
been
doing
these
every
month,
a
listing
of
what's
new
in
the
docs.
This
is
a
great
great
place
to
see.
A
A
One
of
them
that
I
want
to
dig
into
a
bit
here
is
the
migration
from
three
one:
two,
three
five.
So
this
is
the
the
walkthrough
on
what
to
do
and
you
know
not
a
whole
lot.
You
know
updating,
SDK,
updating,
target
framework
package,
references,
docker
images
if
you've
got
them
so
pretty
straightforward,
also
a
link
in
here
to
the
breaking
changes
and
far
as
breaking
changes.
You
know
not
too
much
that
I
saw
here.
A
Some
changes
in
namespaces
for
a
sure
and
signal
are
some
other
kind
of
smaller
changes
in
signal
are
and
then
static
files,
CSV
content
type
changed
to
standards,
compliant
I,
that's
exciting,
I
guess
so.
We've
gone
it
used
to
be
octet
stream,
and
now
it's
text
CSV
yeah.
We
are
now
RFC,
seven
one
one
one
compliant,
which
things
me
great
joy,
also
keeping
in
that
theme
I,
try
and
group
him.
So
there's
like
a
little
flow
to
the
whole
segment
here.
So
so
she
had
doing
his
blogging
up
a
storm.
A
You
know
blogging
every
week
here,
he's
talking
about
dotnet
v,
Visual
Studio,
2019
preview
and
C
sharp
9,
but
kind
of
all
the
new
fun
stuff,
I'm
gonna
jump
through
there's
quite
a
bit
here.
He
talks
about
you
know
setting
the
stage
what
is
daunting
at
five.
You
know
what
are
all
these
things
it
talks
about.
What's
in
the
preview
I'm
going
really
fast
here,
what's
in
dotnet,
five
so
and
how
to
get
started
with
it,
so
you
know
download
it
looking
at.
A
What's
in
the
templates,
some
minor
changes
that
you'll
see
in
the
templates
and
then
this
is
kind
of
cool
he
digs
into
some
c-sharp
nine
features.
So
some
things
like
the
width
expression,
I
honestly,
haven't
seen
this
before.
So
that's
that
is
interesting
and
then
another
thing
here
is:
he
talks
about
record
the
records
proposal.
That's
something
I
know.
People
have
been
interested
in
for
a
long
time,
so
so
I'm
interested
to
see
how
that
shapes
up
and
that's
something
I
believe
that's
kind
of
other
languages.
I
have
that
I
know
are
f-sharp.
A
A
Where
that
you
know,
we've
got
g
RPC
service
worker
service,
razor
class
library
just
where
they
have
moved
as
far
as
you
know,
location
and
then
also
blazer
blazer
server,
and
then
you
also
hear
talking
about
the
migration
which
we
already
covered,
so
nice,
comprehensive,
post,
okay,
cool
posts
in
a
series
from
Jimmy
Bogart,
so
he's
talking
about
end-to-end,
Diagnostics
and
tracing.
So
you
know:
we've
looked
over
over
the
years.
A
So
here
he
was
going
through
and
looking
at
the
overall
problem
of
doing
distributed,
tracing
across
a
complex
system
with
a
lot
of
micro
services,
and
then
you
know
what
he
went
through
in
order
to
do
that
so
comprehensive
tracing
all
the
way
through
diagnostic
events,
all
the
way
through
and
ending
up
with
something
like
this,
and
so
this
included
a
is
peanut
core
HTTP
client,
rabbit,
mq
and
sequel.
So
that
is
a
nice
thing
to
do,
but
can
he
do
it
so
then
he
continues
through.
A
So
he
actually
built
out
a
dummy
distributed
system
and
you
know
using
n
service
bus
and-
and
you
know
just
kind
of
following
and
seeing
if
it
would
wear
and
blogging
things
out
and
at
the
very
end,
you
know
testing
this
out
using
swagger
and
he's
actually
getting
these.
These
you
know
trace
messages
all
the
way
through.
So.
B
A
B
C
Asked
whether
someone
asked
me
whether
this
works
with
gr
pc
and
it
does
just
because
gr
pc,
it's
built
on
top
of
HTTP
client,
which
will
propagate
their
necessary
header
and
it's
hosted
on
asp.net
core,
which
will
read
the
necessary
header,
so
pretty
much.
Anything
which
is
running
in
asp.net
will
be
able
to
utilize
this
and
as
long
as
you're
making
calls
using
either
age
to
be
client
or
your
propagating
that
header
manually.
All
this
information
should
just
float
automatically
all.
A
All
right.
Once
I
finished
Community
Links
I'll
tweet
out
the
updated
link
that
was,
we
had
an
expired
subscription
that
we
saw
in
our
services
right
when
we
started
the
stream,
and
so
it
apparently
reset
the
end
link
all
right:
cool
Andrew
Locke
talking
about
five
different
ways
to
set
URLs
in
an
SP
net
core
application.
So
so
talking,
first
of
all
of
all
about
what
the
different
URLs
are,
then
these
are
the
five
that
you've
got.
A
You've
got
use
URLs
in
program
CS
that
you
can
set
that
in
the
program
start
up,
you've
got
environment
variables
that
you
can
set
dotnet,
URLs
or
ASP
nut
core
URLs.
You
also
can
set
them
using
command
line,
so
you
can
do
dash
dash
URLs,
you've
also
got
launch
settings,
dot,
Jason,
that's
red
and
then
finally,
you've
got
kestrel
server
options
and
you
can
set
them
there.
So
he
talks
about
the
different
kinds
of
bindings.
You
can
use.
He
talks.
A
He
then
just
walking
through
examples
of
the
different
types
you
know:
here's
the
are
you
setting
with
the
use
URLs
the
different
environment
variables
you
can
set,
there's
also
the
command-line
options
and
launch
settings.
Of
course
you
can
set
those
directly
in
Visual
Studio
or
you
can
just
set
them
in
the
JSON
file
and
then
finally,
I
wasn't
familiar
with
the
kestrel
server
options
and
I'm
not
actually
sure
where
you'd
use
that-
and
he
said
he
didn't
know
either
really.
A
He
said
you
know
it's
it's
available,
but
he
hasn't
had
an
opportunity
at
it
to
use
it.
I
guess
if
you're
just
directly
using
kestrel
for
some
reason,
so
there's
that
and
then
kind
of
what
he
wraps
up
with
is
you
know
you
could
use
URL
use
URLs,
but
not
really
suitable
for
production,
URLs
and
environment
variables.
You
could
set
those
in
production
that
would
be
kind
of
a
handy
place
to
do
that
and
then
bunch
settings
for
development.
So
you
know
a
lot
of
different
options.
A
All
right
couple
of
Blazers,
so,
first
of
all,
mobile
blazer
bindings
and
Chris
Singh
t
is
digging
into
layout
and
styling.
This
is
interesting
to
watch
as
this
continues
to
progress
and
and
sir
Chris's,
you
know,
writing
up
how
you
can
go
through
and
style
these
up,
and
these
are
you
know
this
is
interesting
cuz.
This
is
creating
xamarin
forms
applications,
but
using
the
syntax
coming
from
blazer.
A
So
but
you
you
know
the
the
idea
is
that
you're,
using
blazer
syntax
as
much
as
possible
deaths
talk
about
CSS
styles,
with
with
an
important
note
at
the
top,
and
then
talks
about
you
know
just
going
through
and
setting
specific
styles
on
things.
So
this
is
neat
to
see
this
progress
and
then
you
know
kind
of
hopefully
I
like
the
idea
of
writing
xamarin
applications
using
my
web
skills.
So
it's
stuff,
one
of
their
cool
blazer
link,
Steve
Sanderson
tweeted.
This
out.
This
is
from
SK
and
this
is
a
blazer
material
library.
A
A
So
this
this
is,
you
know
these
are
all
kinds
of
components
that
allow
you
to
easily
build
some
pretty
nice-looking
dashboards
and
all
kinds
of
stuff,
good
stuff,
alright,
getting
towards
the
end
Magnus
talking
about
custom
data
types
in
asp
net
core
web
api's.
So
he
talks
about.
You
know
that
you
can
use,
you
can
have
the
automatically
generated
swagger
and
that
works
well
for
simple
types.
You
know
you
just
say
you
know
you
swagger
and
you
know
just
generate.
A
If
you
have
complex
types,
nested
types
or
if
you
have
something
specific,
then
there
are
other
things
that
you
can
do
so.
First
of
all,
he
talks
about
that.
You
can
do
map
type.
So
here
he
shows
you
know,
mapping
a
type
using
the
map
type
you
can
also
and
and
showing
how
that's
written
out.
You
can
do
some
other
things
like
you
and
you
can
also
include
an
eye
open,
API
writer,
to
write
out
what
you
want
to
see.
So
that's
what
is
displayed
in
the
documentation.
A
You
can
control
serialization
and
then
you
can
also
for
for
more
complex
things.
He
talks
about
cases
where,
if
you're
taking
in
parameters,
actually
writing
your
own
model
binder
that
handles
those
cases.
So
what
I?
My
main
takeaway
from
this
is
it's
nice
to
know
that
if
I
need
to
customize
my
swagger
I
can
do
it
without
having
to
do
it
all
or
nothing.
I
got
to
write
my
own
swagger,
pretty
neat,
okay
and
then
sreob.
You
sent
these
two
over
to
me.
So
this
is
pretty
neat.
A
Anthony
Geordi
has
been
writing
a
lot
of
blog
posts,
a
huge
series
on
G
RPC.
So
here's
just
two
that
we
picked
out
there's
one
on
resiliency
with
poly.
So
Paulie
is
a
library
that
allows
for
all
sea
based
resilience
or
what
is
it
Tran,
transient
fault
handling,
so
things
like
retry
circuit,
breaker,
timeout,
all
kinds
of
stuff,
so
here
just
walking
through
you
know
how
to
configure
some
policies
and
like,
for
instance,
here
wait
and
retry
async,
and
this
doesn't
look
like
a
huge
amount
of
code.
B
There's
just
one
thing
that
I
want
to
get
people's
attention
to
is
that
your
PC
doesn't
use
HTTP
status
scores
going
to
get
like
RPC
status
codes,
so
I
actually
think
like
when
you
quickly
scroll,
Boston
I
realize
that
Anthony
and
I
pull
that
out
and
made
sure
not
to
fall
for
the
usual
gotcha.
He
was
checking
the
GPC
status
code.
C
This
this
will
probably
using
poly
like
this,
will
probably
only
work
for
you
Nuri.
She
RPC
calls
with
a
unity.
Rpc
call
effort,
fails
upfront.
It
will
put
that
status
and
the
header.
But
if
you
were
streaming
and
you've
already
sent
message,
then
headers
have
already
been
sent.
So
Polly
won't
get
a
failure
status
code
because
it
will
come
in
and
the
trailers
so
yeah.
A
All
right
and
then
another
post
from
him-
and
this
is
on
global
error-
handling
which
ERP
C
and
G
RPC
status
code.
So
if
I'd
read
this
before
I
would
have
noticed
the
one
you
were
pointing
out
right
so
that
there
are
different
status
codes
in
HTTP,
so
I'm,
not
sure.
If
there's
anything
else,
we
want
to
call
out
here.
There
are
these
different
kinds
of
statuses.
C
One
one
thing
about
Jia
PC
is
when
an
error
is
thrown
you'll
need
to,
and
you
want
to
catch
it
and
process
it
in
a
central
place.
You
need
to
do
it
in
an
interceptor
rather
than
a
piece
of
middleware,
because
GBC
won't
propagate
the
exception
to
middleware,
because
it
needs
to
return
specific
status
back
to
the
response,
but
this
example
shows
how
to
do
that
and
an
interceptor
okay.
A
All
right-
and
that
is
the
last
link
I
had
all
of
these
whoa.
All
of
these
are
saved
and
I
mean
this
is
just
wonderful.
This
is
my
day
here
that
I'm
having
these
are
all
saved
in
a
URL
list,
and
so
this
is
included
in
the
show,
notes
and
and
I'll
include
this
in
the
chats
and
stuff,
and
so
now
let
us
go
to
the
everyone
display.
A
C
B
C
Ht
PAP
is
I,
won't
go
into
all
of
these
in
detail,
but
if
I
was
going
to
summarize
the
two
approaches
as
GOP
C's
contract
first
nature
offers
high
performance
through
its
binary.
Serialization
and
use
of
H
should
be,
and
also
a
great
developer
productivity
experience
through
code
generation.
It
will
automatically
generate
service
stubs
for
you
and
a
client.
Meanwhile
hgp
api's,
they
offer
simplicity,
ease
of
getting
started
and
the
widest
audience.
Everything
is
just
text
base
text
based
so
HTTP
1.1.
That's
just
text
JSON,
that's
just
text!
You
could
create
a
request
and
notepad.
C
Modern
browsers,
have
great
support
for
HTTP.
If
you're
browsing
a
web
site
like
Facebook
or
Google
or
dotnet
those
websites,
they'll
all
be
returning
attributed
for
you
now,
the
problem
is
JavaScript.
Api
is
haven't
quite
caught
up,
so
it's
xmlhttprequest
and
fetch,
which
you
commonly
use
in
JavaScript
to
make
HTTP
requests.
They
don't
provide
low-level
access
to
aid
should
be
to
friend,
H
HTTP,
to
frames
so
because
of
that,
it's
not
possible
to
build
a
gob,
C,
client
and
the
browser.
C
So
the
workaround
is
this
slight
modification
of
the
standard
called
G
RPC
web
service
was
created
by
the
GRDC
team.
It
modifies
the
spec
slightly,
so
it
supports
HTTP
1.1
and
to
do
that
sacrifices.
A
couple
of
features
so
client
streaming
and
bi-directional
streaming,
but
server
streaming
is
still
supported.
So
how.
B
C
C
So
the
solution
to
this
as
G
RPC
web,
so
it
supports
any
version
of
HTTP
and
the
way
gr
PC
web
has
traditionally
been
implemented
as
a
proxy
would
sit
in
between
the
client
which
makes
the
tree
RPC
web
request
over
HTTP
to
the
proxy.
In
this
case
the
proxy
is
n
boy,
it's
written
as
a
proxy
by
the
CNC.
If
it
knows
about
G
RPC
web
and
can
translate
to
G
RPC
I
mean
it
forces
that
request
on
to
our
G
RPC
service,
using
standard
G
RPC
of
HTTP.
C
So
the
good
thing
about
this
is
our
service
over
here
doesn't
need
to
know
anything
other
about
ER
PC
web.
So
this
invoice
proxy
can
work
with
any
gob
C
implementation,
including
the
asp.net
core
implementation.
The
downside
is,
if
you're
not
already
using,
employ
as
your
proxy
you're,
introducing
an
additional
HTTP,
hop
and
you're
also
running
an
extra
process
or
if
you're
in
kubernetes,
contain
an
apart
and
then
there's
also
a
bit
of
complexity
around
having
to
learn
invoice
set
it
up,
maintain
it.
It's
just
more
moving
parts
being
introduced
and
to
your
solution.
C
So
what
we've
done
in
asp.net
core
is
we've
added
support
for
geo
PC
web
without
a
proxy,
so
our
G
RPC
services
with
an
asp.net
can
host
g
a
b
c
and
g
OB
c
web
side-by-side
benefits
as
there's
high
performance.
We
don't
have
the
overhead
of
jumping
through
an
additional
process
and
additional
HTTP
hop
and
it's
easier
to
set
up.
C
I'll
show
you
how
in
a
couple
of
minutes,
but
you
can
set
up
geo,
PC
web
and
just
a
couple
of
lines
if
you're
curious
about
the
implementation,
this
saw
is
some
proxy
and
going
on.
But
now
it
happens
inside
the
kestrel
process,
the
asp.net
process-
and
it's
really
just
a
piece
of
middleware.
So
the
middleware
will
intercept
the
incoming
request
as
it
moves
through
the
request
pipeline.
C
It
will
make
some
minor
modifications
to
it,
mostly
around
headers
and
then
all
fought
it
on
server,
T,
RPC
service
and
we've
also
done
the
same
thing
with
a
geo,
PC
web
client
and
dotnet.
So,
just
like
you
can
have
incoming
middleware
and
asp.net.
You
can
have
outgoing
middleware
when
you're
using
the
HTTP
client,
and
because
of
that
we
have
a
geo,
PC
web
client,
written
and
Donette.
C
You
might
wonder
what
what
is
the
benefit
of
that,
like
we've
already
got
this
JavaScript
implementation
over
here
in
our
browser,
and
the
benefit
of
that
is
we're
able
to
support
blazer,
so
Blazer
sitting
and
the
browser
has
the
same
constraints
around
HTTP,
so
using
Chi,
RPC
web-enabled,
Donna
client
enables
it
to
talk
to
services.
I
won't
demo
that
today,
but
I
believe
Steve
demoed
a
couple
of
stand-ups
ago.
Blaser
talking
to
G
RPC
and
the
other
usage
for
a
Donna
client
is,
if
you're,
in
a
client
which
doesn't
fully
support
HP.
C
C
Okay,
so
I'll
do
a
demo
now.
So
this
website,
which
I've
got
set
up,
it,
is
hosting
G
RPC.
So
the
first
thing
we'll
take
a
look
at
is
the
proto
file.
So
this
is
just
a
standard
G
RPC
protocol.
There
is
nothing
special
about
it
whatsoever,
I
haven't
changed
it.
It's
got
a
couple
of
methods
on
it
and
messages
and
that's
pretty
much
sure
we
have
an
implementation
of
our
G
RPC
contract
on
the
server.
So
our
say,
hello
message,
method
returns,
hello,
plus
the
request
name,
and
then
we
have
streaming
implementation.
C
So
this
will
take
the
incoming
name
and
will
stream
it
back
multiple
times
until
the
client
cancels
it.
Neither
of
these
have
been
changed
whatsoever
to
support
GOP
C
web.
The
differences
start
to
come
in
and
the
start
up
file.
So
in
the
startup
file
we've
got
some
middleware
added.
This
is
the
unprocessed
proxy
which
I
talked
about
our
ERP
C
web
request
comes
in
and
will
get
routed
to
our
endpoint.
Then
the
GOP
see
web
middleware
will
run
it.
We'll
make
a
couple
of
modifications
to
it.
C
It
will
pass
it
on
to
our
GRDC
service,
which
will
execute
it.
It
will
return
my
response,
which
will
map
it
back
into
G
PC
web
and
return
it
back
to
the
client.
So
if
we
run
that
right
now,
we
can
see
it
running
into
end.
So
this
is
the
very,
very
basic
website
designed
designed
by
me,
and
we
can
say
hello
to
myself,
clicks
in
unary
and
that's
gone
back
to
the
server
and
has
been
sent
using
a
RPC
web.
C
So
it's
not
a
friendly
rest
URL
as
a
standard
conventions
based
gob,
see
URL,
and
if
we
look
at
our
headers,
we've
got
a
content,
type
of
GRB,
see
web
and
our
request
message
as
some
base64
content
and
our
response
message
as
some
basics
before
protobuf
content,
and
if
we
look
at
the
server
it's
wrong
one.
If
we
look
at
the
server
we
can
see,
the
server
got
a
request
coming
into
that
G
RPC
URL,
with
this
G
RPC
web
content
type.
C
So
that's
all
it
takes
to
implement
G
RPC
web
on
the
server
the
client.
If
you're
curious,
is
just
a
standard
web
page
we're
referencing
this
javascript
file
created
by
node,
and
this
is
just
some
basic
basic
JavaScript.
The
only
thing
of
interest
here
is:
we've
got
our
gr
PC
web
client.
This
has
been
generated
from
that
proto
file,
so
we're
including
a
couple
of
files
up
here,
which
we
can
see
reference
here.
C
These
have
been
generated
from
the
proto
file
and,
if
you're
curious
about
how
to
do
that,
the
sample
it's
available
on
the
GRP
see
Donnie
repo.
It
has
instructions
about
the
command
you
run
to
to
generate
these
files.
So
it's
gr,
PC
Weber's,
it's
not
very
complicated.
The
next
thing
I'm
going
to
talk
about
is
G
RPC,
HTTP
API.
So
this
is
a
new
experiment.
I
blogged
about
I,
think
last
week,
beginning
of
last
week,
and
the
goal
of
this
is
providing
restful.
Api
is
for
G
RPC
with
almost
zero
effort,
so
rests
and
Jason.
C
They
still
have
an
important
place
in
modern
apps.
So
we
talked
about
the
ease
of
getting
started
with
them.
It
doesn't
require
any
contract
file.
There's
no
cogeneration
involved
for
all
text-based.
So
if
you
want
to
reach
the
widest
audience,
you
possibly
can
rest
and
Jason
are
probably
still
the
way
to
go.
C
But
if
you
want
to
have
gr,
BC
and
rest
services-
and
you
want
to
have
both
building
both
as
unwanted
overhead,
like
you
you're
building
your
services,
twice,
Oh
gob
see
HTTP
API
the
goal
of
this
as
bride
rest
endpoints
for
G
RPC
services
automatically
for
you.
So
this
is
a
powerful
idea.
It
isn't
a
new
idea.
There's
an
existing
piece
of
technology
called
Chi.
C
Opc
gateway
is
like,
like
a
RPC
web
has
implemented
on
a
proxy
and
boy
Jia,
PC
gateway
will
take
and
coming
rest
requests
and
will
turn
them
into
GI,
PC
and
forth
them
onto
your
G
RPC
services,
so
G
RPC
gateway
has
existed
for
a
while.
It's
it's
widely
used
its
popular
Google
cloud
platform.
All
their
services
are
built
initially
with
G
RBC
and
then
the
rest
implementation,
as
provided
via
the
OPC
gateway.
C
The
difference
worth
e
IPC
HTTP
api
is,
it's
hosted
directly
out
of
a
speed
on
it,
cause
someone's
eye
what
we've
done
worth
GRP
c-webb,
it's
important
to
notice
very
experimental
whether
we
invest
more
time
on
it
depends
on
user
feedback
and
the
pre-release
package
is
available
now.
So
how
does
it
work?
How
do
we
turn
G
RPC
calls
and
to
restful
calls?
So
the
way
it's
done
is
via
the
contract
file,
so
protobuf
contracts
they
support,
annotations
and
thus
goggle
dot,
API
dot,
HTTP
annotation.
We
can
see
that
and
strikes
well.
C
It
doesn't
instruct
the
contract
file
to
do
anything.
It
exists
in
the
contract
file
and
then
the
framework
is
able
to
read
this
information
and
use
it
to
transform
an
incoming
rest
call
and
G
RPC.
So
we
can
see
this
first
example
with
our
say:
hello
call
we're
mapping
it
to
a
get
request,
so
we
supply
the
URL.
You
can
kind
of
think
of
this
like
attribute
routing
and
NBC.
We
define
the
attribute.
C
We
define
the
route
with
this
annotation
and,
in
this
example,
we're
mapping
a
URL
segment
to
a
name
property
on
the
incoming
object.
So
this
hello
request
which
exists
on
say
hello.
It
has
a
name
property
and
this
URL
will
be
mapped
directly
to
it.
So
when
we
pass
in
world
the
name
property
on
how
a
request
will
be
world,
the
second
example
uses
a
post.
C
So
in
this
case
we're
specifying
we
want
post
and
we're
specifying
the
URL
as
v1
greeter
and
we're
also
specifying
how
the
body
maps
to
the
incoming
request
message
in
this
case,
because
we've
specified
star
we've
just
said
that
the
entire
request
body,
Jason,
Maps,
hello,
requests
from
and
protobuf
actually
has
a
no
one
convention
for
converting
to
and
from
Jason.
So
this
jason
would
match
the
convene
that
protobuf
expects
and
it
will
just
automatically
turn
the
incoming
JSON
into
this
message.
C
This
thing's,
a
look
at
is
that
proto
file.
We
have
the
annotation
here
and
we've
got
our
hollow
request,
object
and
hello
request.
Has
that
name,
and
that
name
is
what
we
will
get
maps
to
from
the
incoming
route
value.
So
world
would
end
up
as
well
down
here
and
then
a
hollow
request
from
the
Jason
which
comes
in
would
map
up
to
our
property
names
of
name
and
from
and
the
response
message.
In
this
case
hello
request.
C
This
will
get
turned
into
Jason,
so
we
would
come
back
with
JSON
object
with
the
name
property,
so
I'll
run
it
now
before
we
take
a
look
at
the
output
just
to
show
you
how
to
set
it
up
and
our
in
our
startup
file.
We
register
some
services,
so
we've
got
our
ad
g
RPC
to
register
gr
bc
services
and
we
have
add
a
RPC
HTTP
api,
and
that
is
a
it's.
The
only
thing
you
need
to
do
other
than
annotate
these
files.
C
C
So
a
URL
was
v1
greeter
test
and
our
response
was
some
standard
JSON
and
that
Maps
up
with
what
we
expected
down
here.
So
if
we
set
a
breakpoint
in
our
application
just
to
prove
I'm
not
lying.
So
this
is
our
standard.
G
RPC
service
implementation
put
a
put
a
breakpoint
and
we'll
run
this,
and
our
request
has
come
in
and
you
can
see
that
the
name
of
testers
has
entered
our
ERP
C
service.
So
that's
a
pretty
simple
way
of
automatically
getting
HTTP
endpoints
for
your
TR
PC
services
for
free
and
I.
A
Have
you
know
well
hit
one
thing
you're
showing
here,
that's
really,
nice
is
a
downside
of
G
RPC
is
that
you
don't
have
really
easy
test
clients,
and
this
is
really
cool
that
you
can
do
you
know
you
can
use
browser
tools.
You've
got
all
that
visibility
into
what's
going
on,
I
did
have
one
question
is
how
easy
is
it
then,
like?
Let's
say,
I
wanted
to
develop.
Take
advantage
of
all
this
simplicity
as
I'm
developing
and
then
switch
to
G
RPC
server
or
you
know,
switch
from
G
our
PC
web
reliance
later.
C
It
is
very
easy,
so
it
depends
whoa
and
you
would
choose
G
RPC
web
because
you
don't
have
HTTP
2
available
from
end
to
end.
So
if
you're
calling
from
a
browser,
I,
don't
think
HTTP
2
support
is
coming
from
a
browser
any
time
soon
but
say,
for
example,
if
you're
calling
from
xamarin
and
you're
using
the.net
client.
C
C
Then,
okay,
right,
I've,
I,
have
one
more
one
more
part
of
my
demo
and
that
is
swagger
support.
So
this
is
something
I've
just
been
working
on
yesterday
in
this
morning,
so
swagger
I'm
sure
we're
all
familiar
with
it.
It's
basically
a
contract
for
your
for
your
services
for
your
restful
services,
so
this
is
generated
from
our
G
RPC.
So
we
can
see
our
our
services
that
we've
defined
that
get
serviced
and
we
have
our
parameters.
It's
got
a
name
and
then
our
response.
It's
probably
a
bit
easier
to
view
it
view
it
here.
C
C
This
extension
we've
added
here
means
that
swashbuckle
will
understand,
see
RPC
services
erp
see
HTTP
api
services,
so
it
will
lock
into
this
proto
bar
file
and
be
able
to
see
that
these
services
have
the
necessary
annotation
and
it
will
use
these
annotations
to
generate
the
swagger.
So
that
link
you
had
earlier
and
the
and
the
pre-show
when
you're
going
through
Community
Links,
the
blog
post,
talking
about
customizing
swashbuckle
to
return
schemas
I
use
many
of
those
techniques
to
implement
this.
B
C
So
GI
PC
web
started
off
as
an
experiment.
We're
planning
to
move
it
out
of
an
experimental
stairs,
so
I've
got
a
one.
One
final
slide
to
sort
of
recap
what
we've
shown
so
I've
shown
a
couple
of
things.
If
you
want
g
RPC
and
you
it
should
be
to
end-to-end,
you
would
just
use
standard
GRP
see
if
you
want
gr,
b
c
and
h.
Gb
to
is
not
supported.
C
End-To-End
you'd
use
gr
pc
web
and
if
you
want
g
a
b
c-
and
you
still
want
to
have
HTTP
api
is
okay
rest,
then
you
would
add
on
CIBC,
HTTP
API,
so
gr
PC
web
started
off
as
an
experiment.
It's
still
an
experiment,
we're
planning
to
make
it
a
supported
product
gr,
PC,
web
HTTP.
Api
is
very
experimental.
C
I,
don't
know
if
we'll
invest,
effort
into
it
into
making
it
a
fully
supported
product
right
now.
It
really
depends
upon
people
showing
interest
in
it
and
the
community
starting
to
use
it,
but
the
demo
that's
out
there
it's
basic,
but
it,
but
it
is
functional.
So
you're
certainly
welcome
to
try
it
out
and
use
it,
but
just
keep
in
mind
that
it's
not
officially
supported.
Oh.
B
Showing
off
the
new
and
the
fancy
stuff
I
know
one
of
the
questions
we
keep
getting
hammered
about
online
is.
Can
you
please
let
me
host
your
PC
on
my
server
while
we're
not
quite
there.
Yet
we've
done
at
least
part
of
the
work
in
HDPE
sis
right,
so
we
God
made
changes
to
the
HTTP
driver
and
the
Windows
kernel.
That's
where
is
used?
That's
that's.
What
DHCP
server
uses
so
I
can
now
show
you
I
taught
you
it's
a
boring
demo,
but
I
know
it's
gonna
have
a
lot
of
people
excited?
B
Did
you
go
back?
This
is
my
default
file.
New
Jer,
PC,
yeah
I,
haven't
done
anything
else
to
it,
but
now
I'm
going
to
go
ahead
and
just
add
UHT
since
before
I
got
here,
I
should
do
this.
I
do
not
know.
This
is
something
on
an
experimental
build
of
Windows.
You
can
see
that
this
is
still
very,
very
new,
so
I,
don't
think
anyone
publicly
can't
ride
yet,
but
I
want
to
show
it
as
hey
guys
were
listening
to
what
people
are
complaining
about,
and
we
also
want
to
get
this
working.
B
And
now,
with
that
said,
I'm
able
to
hop
over
I'll
show
you
one
more
team
for
folks
are
familiar
with
Nana
six.
They
know
that
you
know
this,
which
we
used
to
create
our
bindings
for
HDPE
six,
so
I've
gone
ahead
and
created
a
HCPCS
binding
on
port
5000,
one
with
my
certificate
there,
the
docs
on
how
to
do
this,
and
with
that
being
said
now,
I'm
able
to
actually
put
on
my
steps
on
on
the
right
I'm
running
up
a
web
application.
B
It
doesn't
look
very
different
because
it's
really
not
the
only
difference
is
accusing
a
different
server
and
if
I
pop
over
to
my
client
can
I
call
me
sugar.
No
thanks
here
it
looks
exactly
as
you
would
I
have
like
a
hard-coded
in
request
there
and
now
I'm
able
to
go
ahead
and
run
over
here
and
we're
making
a
juror
PC
call.
So
this
is
step
one
out
of
two
to
get
this
working
on
is
this
is
just
showing
you
this
as
an
acknowledgment
of
hey,
we're
listening
to
what
people
want
and
we're
getting
there.
B
B
I
want
to
point
out,
though,
the
support
isn't
a
newer
version
of
Windows.
This
isn't
a
special
man
build
we've,
actually
gone
ahead
and
I'll
Danny
added
board
for
supporting
SVP
Sisera
verse.
If
you
want
to
do
and
use
the
punch
stuff,
you
won't
ready
to
do
for
chatting
and
stuff.
As
soon
as
the
new
windows
drops,
you
can
do
it.
This
is
fine
that
mid-fight
meet
you
too
and
I
think
it's
been
there
since
maybe
warms
up
support.
B
B
B
It
has
a
bunch
of
features,
but
one
of
the
things
it
does
is
make
your
inner
loop
experience
extremely
productive
and,
with
that
I
just
have
together
a
simple
download
that
builds
upon
the
you
know
the
work
that
folks
on
the
diet
team
are
doing,
and
you
know
why
did
your
PC
just
show
that
you're
busy
Derby
season
special,
all
the
darknet
abnormal
stuff
works
on
it?
So
if
I
show
you
my
project,
I
have
a
solution
here
and
it
comprises
a
laser
front
end
and
a
JRPG
service
at
it.
B
Let
me
go
ahead
and
run
this
first
and
then
come
back
and
talk
to
it.
So
I'm
able
to
just
died
on-
and
this
is
going
ahead,
building
my
projects
and
then
there's
nothing
special
in
my
brother.
But
how
back
to
my
search?
Really
I
don't
have
any
doctor
files,
I,
don't
know
I,
don't
have
any
artifacts
that
allow
me
to
do,
but
under
that
wait,
I
ate
noodles
with
orchestration.
B
You
know
again,
you
are
I
met
her,
and
so
what
died
does
is
it's
aware
of
all
the
services
in
your
solution
file
and
when
it
runs
that
it
basically
inject
services
copy
via
environment
variables
and
because
we
have
an
environment
variable
configuration
provided
by
default,
able
to
pick
it
up
and
it
injects
both
the
HTTP
version
and
the
HTTP
version
of
the
surface
so
for
Joe
PC,
since
I
need
the
HTTP
if
CPS
version
since
we're
doing
it
to
be
to
over
Oh
HTTP
to
over
HCPs.
That's
why
I've
gone
ahead?
B
Pull
the
right
values
out
of
configuration
and
I
have
a
knife.
This
one
helper
method
forget
URI
and
with
that
done
all
I've
gone
ahead
and
done
in
my
front-end
application.
Is
your
PC
client
active
support?
So
this
is
in
my
Blizzard
application
and
once
I've
done,
that
I'll
be
able
to
resolve
the
URI
for
my
service
di
configuration
and
then,
if
I
go
so
you
might
win
this
component.
All
the
dummies
have
injected
a
greeter
client
into
my
page
and
I
have
like
this
input
that
is
on
here.
B
I
have
an
input
that
I
render
and
when
you
press
this
button
it
makes
the
user
a
dirty
scroll
with
that
self
and
hot
pan
over
it
looks
like
time
is
running
and
it's
posted
its
dashboard
on
for
a
thousand.
We
grab
the
browser
window
over
so
like
I
said
I'm,
not
too
much
into
ties
with.
The
cool
thing
is,
if
you
go
to
run
multiple
services
and
it's
orchestrating
it
for
you,
I
think
click
do
my
logs
that
shouldn't
be
surprising
as
well
as
plug
into
here.
B
I
see
metrics
emitted
by
my
application,
both
my
front
end
in
my
back
end
and
for
the
neat
bit
now
my
laser
front
end
was
the
services
gonna
be
able
to
discover
my
hair
PC
Batman,
so
I
go
over
here
right.
It's!
The
dashboard
has
been
populated
with
the
addresses
of
these
symbols
in
listening
on
they'll,
be
able
to
go
over
here
and
say:
I
say
that
stand
up
I'm
going
to
go
ahead
and
I
get
back
to
look
at
stand
up.
If
I
jump
back
over
to
the
core,
you
can
see.
B
There's
a
compelling
of
this.
You
know
around
the
default
circles
and
again
I
get
back
a
message
from
there.
So
it's
it's
for
me.
At
least
this
was
a
you
know,
a
really
productive
inner
loop
experience
like
making
it
easy
for
me
to
it
will
develop
and
use
all
the
fine
features
and
types
I
just
wanted
to
show
it
off.
People
are
playing
with
die.
They
should
definitely
use
your
pieces
on
the
our
model
itself
and
provide
feedback
both
the
US
and
the
typing.
So
we
can
make
this
a
better
experience.
B
A
Cool
I
went
through
their
their
tutorials
I,
really
like
their
tutorials
and,
and
they
have
one
hooking
up
to
a
Redis
client,
be
interesting
to
add
on
to
that
with
gr
PC
as
well.
You
know,
basically,
to
show
kind
of
what
you
just
showed
and
I
was
surprised
how
easy
it
was.
Their
sample
also
uses
a
Redis
client
that
pulls
from
the
environment
configuration
and
it
just
kind
of
magically
works,
and
it's
like
you're
saying
it
really
simplifies
that
an
innard
lube
I.
B
Just
the
one
thing
that
if
you
do
look
to
the
dioxin
that
dippers
a
little
bit
anything
that
Doc's
use
the
HTTP
version
of
the
services
services,
sorry,
but
they
also
inject
the
HTTP
version,
I've
actually
gone
service,
name
HTTP
and
then
like
the
zone,
both
the
host
name
and
the
port.
This
is
the
operative
thing:
okay,.
B
Think
that's
something
we
can
do
after
the
fact.
As
for
dye,
the
demos
are
sorry.
The
dye
dachshund,
the
dye
dorri
live
on
the
github.
Slash
net
slash
die
as
for
I,
think
James's
demo
and
blog
post
I
think
we
can
go
ahead
and
actually
include
it
in
the
show
notes
John,
if
it's
not
too
late
them,
edit.
That
yep.
C
Everything
I
showed
is
already
on
on
github,
apart
from
the
swagger
changes,
but
I'll
probably
push
those
in
a
day
or
two.
Okay,
I'd
really
recommend
anyone
who
wants
to
learn
about
geo
PC
check
out
the
examples
and
the
GRP
see
John
at
Revo.
There
is
about
a
dozen
and
it
shows
simple
examples
like
just
getting
started,
a
basic
requests
and
response.
C
You
know
recall
streaming
and
then
slowly
works
its
way
up
to
showing
you
how
to
do
authentication
how
to
do
Diagnostics
use
interceptors
for
error
handling
using
the
client
factory
G
RPC
web
in
a
in
a
browser,
G
RPC
web
using
blazer
pretty
much
every
example
you
can
think
of
as
there
at
the
moment,
and
that
list
is
steadily
growing.
Then.
C
Okay
Q,
can
you
see
my
screen
yeah
yeah,
okay,
so
the
GOP
CG,
obviously
donut
repo.
You
can
see
it
up
here
and
then
just
sitting
under
examples.
There
are
all
all
these
all
these
examples.
Each
one
ends
with
our
because
I'm
obsessive-compulsive,
like
that
and
they're,
not
just
examples.
I
have
I
took
a
little
time
to
write
about
what
each
one
does,
because
seeing
a
whole
bunch
of
examples
feels
overwhelming
so
each
example
talks
about
this
is
what
it
does,
and
this
is
what
it
shows
off.
C
So
the
first
one
shows
off
how
to
make
a
unary
call
how
to
do
service
streaming
and
how
to
cancel
that
call
and
then
slowly
work
its
way
down
to
become
more
and
more
advanced.
So
the
browser
example
I
showed
that
is
gr
PC
web.
Is
this
one
so
at
showing
er
PC
web
in
the
browser
configuring
Donaire
core
to
support
er
PC
web
and
showing
how
to
call
those
services
from
a
browser
are.
A
C
A
Okay
and
then
one
other
question
I
had
is
like
as
you're
showing
this
get
a
gr
PC
org.
There
are
other
gr
PC
like
it's
available
on
other
platforms
and
frameworks.
It's
does
that
is
that
pretty
straightforward
I
mean
it's
an
open.
It's
a
it's
a
specification,
so
it
should
be
transparent,
calling
into
falling
between
different
frameworks
or
platforms.
You
shouldn't
really
even
notice
a
difference
right.
C
Sharyn,
all
all
gr,
pc
implementations
are
compatible
with
each
other.
There's
a
comprehensive
interrupt
suite
of
tests
and
those
tests
are
run
every
every
single
commit.
So
every
commit
every
change
to
May
made
to
any
of
the
GRDC
implementations
that
will
rerun
against
every
other
implementation,
so
ensure
compatibility.
B
We
have
pretty
good
integration
for
design
time
bill
like
ms
build
integration
for
some
of
the
other
language
stacks.
The
code
generation
is
not
so
transparent
to
you
and
you
might
be
doing
a
little
pot
marking
and
getting
the
right
code
generators
to
work
before
you
can
actually
get
writing
code.
Okay,
yeah.
C
I
mentioned
that,
if
you
look
in
the
scripts
directory
of
the
blazer
sample
of
the
browser,
sample,
I
talked
about
how
you
go
about
generating
these
JavaScript
files
from
the
contract,
and
it
involves
downloading
a
an
executable
and,
in
an
extension
to
be
executable,
and
then
you
need
to
muck
around
with
paths
and
getting
everything.
Outputting
am
I
right
location,
one
of
the
nice
things
about
what
we've
got
with
Don.
It
is
msbuild
really
just
automates.
All
of
this,
for
you.