.Net рдХреЛрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рджрд░реНрдж рд░рд╣рд┐рдд рд╕рдВрдХреНрд░рдордг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрддреНрд░ рдорд┐рд▓рд╛

рд╣рд░ рдЪреАрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рд░ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП, 50 рдХрдк рдХреЙрдлреА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред


рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдЕрдВрдЧреВрдареЗ рдХреЗ рдирд┐рдпрдо рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдЙрди рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдиреЛрдЯ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд▓рдбрд╝рд╛рдИ рдореЗрдВ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рдХреБрдЫ рднреА рди рдЯреВрдЯреЗред рдпрд╣ рдиреЛрдЯ рдПрдХ рдореЛрдмрд╛рдЗрд▓ рд╕реЗрд╡рд╛ рдХреЗ рдЬрд╛рд░реА рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рдерд╛, рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ .Net рдХреЛрд░ (рд╢реБрд░реБрдЖрдд рдпрд╣рд╛рдВ рд░рдЦреА рдЧрдИ рдереА) рдореЗрдВ рдЪрд▓реА рдЧрдИ рдереАред рд╣рдо рдореБрдЦреНрдп рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рдмрд┐рдирд╛, рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдЧреНрд░рд╛рд╣рдХ рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЛ рдЕрдирд╕реБрдирд╛ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗред


рдиреАрдЪреЗ рдПрдХ рддреИрдпрд╛рд░ рдХрд╛рд░реНрдп рдпреЛрдЬрдирд╛ рд╣реИ, рдПрдХ рдмрд╣реБрдд рд╣реА рдХреИрдкреЗрд╕рд┐рдЯрд┐рд╡ рдкрд░реАрдХреНрд╖рдг рд╕реВрдЪреА рд╣реЛрдЧреА, рдпрд╣ рддрд╕реНрд╡реАрд░ рдпрд╣рд╛рдБ рдореВрдб рдХреЗ рд▓рд┐рдП рд╣реЛрдЧреА:



рддреЛ, рдЪрд░рдгреЛрдВ рдореЗрдВ:


1. рдмрдбрд╝реА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдФрд░ / рдпрд╛ рдкреНрд░рддрд┐рдЧрдорди рдХреЗ рд╕рд╛рде рд▓рдВрдмреЗ рд╕реНрдкреНрд░рд┐рдВрдЯ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдПрдВ


рдореМрд▓рд┐рдХ рдХреЛрдб рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рд╛рде, рд╕реЗрд╡рд╛ рдХреЛ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдкрд░ рд╕рднреА рдЦрд╛рдорд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдХреЗ рд▓рд┐рдП рдпрдерд╛рд╕рдВрднрд╡ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЬреЛрд░ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред


2. рд╕рд╣реА рд╕реНрдкреНрд░рд┐рдВрдЯ рдкрд░ .net рдХреЛрд░ рдкрд░ рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛


рдЗрд╕ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЛ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ? рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдирдП рдФрд░ рдкреБрд░рд╛рдиреЗ .net рдХреЗ рд╕рд╛рде рдХреЛрдб рдХреА рджреЛ рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рдЦреАрдВрдЪрдирд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рднреА рд╕рдордп рдПрдХ рдкрдХреНрд╖реА рддрд╛рддреНрдХрд╛рд▓рд┐рдХрддрд╛ рдореЗрдВ рдЙрдбрд╝ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЖрдкрдХреЛ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдбреЗрдореЛ рдЖрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдФрд░ рдлрд┐рд░ рдЖрдкрдХреЛ рдкреБрд░рд╛рдиреА рд╕реНрдерд┐рд░ рд╢рд╛рдЦрд╛ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдиреНрдпреВрдирддрдо рдЪрд┐рдВрддрд╛ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдВрдХреНрд░рдордг рд░рд╛рдЬреНрдп рдХреЗ рдХреНрд╖рдг рдХреЛ рдЫреЛрдЯрд╛ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред


рд╡реИрд╕реЗ, рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рд╣рдо рдЬрд▓реНрджреА рд╕реЗ рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪреЗ рдХрд┐ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рднрдВрдбрд╛рд░ рдХреА рджреЛ рдкреНрд░рддрд┐рдпрд╛рдВ рд░рдЦрдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдпрд╣ рджреЛ рд╡рд┐рд╢рд╛рд▓ рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЖрд╕рд╛рди рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред


  • рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ, рддреЛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЧрдИ рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рд╡реЗрдмрд╕реАрдкреА рдореЗрдВ рдбрдмреНрд▓реНрдпреВрд╕реАрдПрдл рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛

WCF рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ .Net рдХреЛрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрднреА рднреА рдЖрджрд░реНрд╢ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИред рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдкреБрд░рд╛рдиреЗ рдШрд╛рд╡реЛрдВ рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЖрдкрдХреЛ рдЕрднреА рднреА рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб ( 1 , 2 ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред


рдХрд╣рд╛рдиреА рдХреЗ рд▓рд┐рдП: .Net рдХреЛрд░ 2.0 рдкрд░, WCF рдХрд╛ рд╕реНрдерд┐рд░ рдХрд╛рд░реНрдп рд╕рдВрд╕реНрдХрд░рдг myget рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ 4.4.2 рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрд╕реЗ рд╢реБрд░реБрдЖрддреА рд╕рдордп рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ

рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рд╣рдордиреЗ .net Core 2.0 рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдЗрд╕ рдмреАрдЪ, Microsoft рдиреЗ .Net Core 2.1 рдЬрд╛рд░реА рдХрд┐рдпрд╛ рд╣реИред рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд░реЗрдбрдордВрдб рд▓реЛрдЧреЛрдВ рдХреА рд╕рдлрд▓рддрд╛рдУрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдХреМрди рджрд┐рд▓рдЪрд╕реНрдкреА рд░рдЦрддрд╛ рд╣реИ, рдХреГрдкрдпрд╛ рдкрдврд╝реЗрдВ рдХрд┐ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рддреЗ рд╕рдордп рдмрд┐рдВрдЧ рд╕рд░реНрдЪ рдЗрдВрдЬрди рдиреЗ рдХреМрди рд╕реА рдкреНрд░рдЧрддрд┐ рдХреА (рд╕реНрдкреЙрдЗрд▓рд░: рд▓реИрдЯреЗрдВрд╕рд┐ 34% рдЧрд┐рд░ рдЧрдпрд╛!)


рд╣рдордиреЗ .Net Core 2.1 рдФрд░ WCF 4.5.3 рдореЗрдВ рднреА рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ред рдФрд░ рд╣рдо Dockerfile рдореЗрдВ рдПрдХ рддрд╛рдЬрд╝рд╛ рдЖрдзрд╛рд░ microsoft / dotnet image: 2.1-aspnetcore- рд░рдирдЯрд╛рдЗрдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдирд╣реАрдВ рднреВрд▓реЗред рдХреНрдпрд╛ рдЖрд╢реНрдЪрд░реНрдп рдерд╛, рдЬрдм 1.4 рдЬреАрдмреА рдХреЗ рдмрдЬрд╛рдп, рдЙрдиреНрд╣реЛрдВрдиреЗ 0.5 рдЬреАрдмреА рдХрд╛ рдПрдХ рдЫрд╡рд┐ рдЖрдХрд╛рд░ рджреЗрдЦрд╛ (рд╣рдо рдЕрдЪрд╛рдирдХ, рдЕрдЧрд░ рдПрдХ рд╡рд┐рдВрдбреЛрдЬ рдЫрд╡рд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ)ред


3. рдПрдХ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдбреЗрдореЛ рдХреЗ рд▓рд┐рдП рдХрд╛рдареА


рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ рджреЛ рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИрдВред рд╣рдордиреЗ рдПрдХ рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдбреЗрдореЛ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред рдПрдХ рдирдИ рд╕реЗрд╡рд╛ рдХреЛ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рдкрд░реАрдХреНрд╖рдХреЛрдВ рдкрд░ рдПрдХ рд░рдиред


рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХреБрдЫ рднреНрд░рдо рдерд╛ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЖрдорддреМрд░ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдкрд░реАрдХреНрд╖рдХ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдбреЗрдореЛ рдХреЗ рд╕рд╛рдеред рдпрджрд┐ рдкреБрд░рд╛рдиреА рд╕реЗрд╡рд╛ рдХреЛ рддрд╛рдЬрд╝рд╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рддреЛ рд╕реНрдерд┐рддрд┐ рд╕рд╛рдорд╛рдиреНрдп рд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд┐рдкрд░реАрдд рдереАред рдЗрд╕рд▓рд┐рдП, рдПрдХ рдЪрд░реНрдЪрд╛ рдФрд░ рдПрдХ рдзреЛрдЦрд╛ рдкрддреНрд░рдХ рдХрд╣рд╛рдБ рдФрд░ рдХреНрдпрд╛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдореЗрдВ рдЖрдпрд╛ рдерд╛ред


  • IIS рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ

IIS рдореЗрдВ .Net рдХреЛрд░ рд╕реЗрд╡рд╛ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд░рдирдЯрд╛рдЗрдо рдХреЗ рд╕рд╛рде рдЖрдиреЗ рд╡рд╛рд▓реЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред


AppPool рд╕реАрдПрд▓рдЖрд░ рд░рдирдЯрд╛рдЗрдо рдкрд░ рд╕реНрд╡рд┐рдЪ = рдХреЛрдИ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдирд╣реАрдВред


рдорд╛рдирдХ web.config рдХреЗ рд╕рдорд╛рдзрд╛рди рдореЗрдВ , рд╡рд╛рдВрдЫрд┐рдд рдЕрдиреБрд░реЛрдз рд╕реЗрдЯ рдХрд░рдиреЗ рдФрд░ WebDAV рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рднреВрд▓рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЕрдЧрд░ DELETE рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реИрдВред


рдЖрдЧреЗ, IIS рдореЗрдВ рд╕реЗрд╡рд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:


  • рдЖрдк MSDeploy рд╕рд┐рдВрдХ рдХрд░рддреЗ рд╣реИрдВ - рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд -enableRule рд╕реНрд╡рд┐рдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ : AppOffline
  • рдЖрдк рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдХрд╛рд╢рди рдХрд░рддреЗ рд╣реИрдВ - рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкреНрд░рдХрд╛рд╢рди рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реЗрд╡рд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ app_offline.htm рдбрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛

рджреЛрдиреЛрдВ рд╣реА, рдФрд░ рджреВрд╕рд░рд╛ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд░реЛрдХрдиреЗ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреЛрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЕрдиреНрдпрдерд╛, рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреА рдХрд┐ рдУрд╡рд░рд░рд╛рдЗрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдлрд╛рдЗрд▓реЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВред


рд╣рдордиреЗ рд╕реЗрд░рд┐рд▓реЙрдЧ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ Nlog рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЙрдЧрд┐рдВрдЧ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛, рдФрд░ рд▓реЙрдЧ рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рдВрдкреАрдбрд╝рди рдЦреЛ рджрд┐рдпрд╛ - Serilog рдореЗрдВ рдмрд╕ рдРрд╕реА рдХреЛрдИ рд╕реБрд╡рд┐рдзрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдирд┐рдпрдорд┐рдд рд╡рд┐рдВрдбреЛрдЬ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдЪрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЧреБрдгреЛрдВ рдореЗрдВ NTFS рд╕рдВрдкреАрдбрд╝рди рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

4. рдкрд░реАрдХреНрд╖рдг


рдпрд╣рд╛рдБ рд╕рдмрд╕реЗ рдирд╛рдЬреБрдХ рд╕реНрдерд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд┐рдХреБрдбрд╝рд╛ рд╣реБрдЖ рдЪреЗрдХрд▓рд┐рд╕реНрдЯ рд╣реИ:


  • рд╕реНрдерд┐рддрд┐ рдХреЛрдб рдХреА рд╡рд╛рдкрд╕реА рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ рдЦрд░рд╛рдм рдЕрдиреБрд░реЛрдз, рдЕрдирдзрд┐рдХреГрдд, рд╕рдВрд╢реЛрдзрд┐рдд рдирд╣реАрдВ, рдирд╣реАрдВ рдорд┐рд▓рд╛ - рд╡рд╣ рд╕рдм рдЬреЛ рдПрдкреАрдЖрдИ рджреЗ рд╕рдХрддрд╛ рд╣реИ
  • рд╕рднреА рд╕реНрдЯреЗрдЯрд╕ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЪреЗрдХ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рд▓реЙрдЧрд┐рдВрдЧ
  • рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдЖрд░реЗрдЦ рдмрдирд╛рдПрдВ; рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА appsettings рдореЗрдВ рд╣реИ
    • рдЕрдкрдиреЗ рдХрд╛рдо рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рддрд░реАрдХреЛрдВ рдХреЛ рдмрдВрдж рдХрд░реЗрдВ
    • рдмрд╛рд╣рд░реА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдЬрд╛рдБрдЪ рд▓реЙрдЧрд┐рдВрдЧ
  • рдПрдкреНрд▓реЗрдЯрд┐рдВрдЧ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдХрд╛рдордХрд╛рдЬ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ; рдЙрдиреНрд╣реЗрдВ рдЧрд░реНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ
  • рд╕рдХрд╛рд░рд╛рддреНрдордХ рдФрд░ рдирдХрд╛рд░рд╛рддреНрдордХ рд╕реНрдерд┐рддрд┐ рдХреЛрдб рдХреЗ рд▓рд┐рдП http рдХреИрд╢рд┐рдВрдЧ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
    • рдИрдЯреИрдЧ рд╣реЗрдбрд░
    • рд╣реЗрдбрд░ рдХреИрд╢-рдХрдВрдЯреНрд░реЛрд▓
  • рд▓рдВрдмреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдФрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
  • рдЦрд╛рд▓реА рдЙрддреНрддрд░ рдХреЗ рд╕рд╛рде рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ
  • DELETE рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ (WebDAV рдЕрдХреНрд╖рдо рд╣реИ рдпрд╛ рдирд╣реАрдВ)
  • рдХрдЪреНрдЪреЗ рдорд╛рд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
    • рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдПрдХ / рдХрдИ рдлрд╛рдЗрд▓реЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
    • рд╕реАрдорд╛ рдХреЗ рдКрдкрд░ рдПрдХ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдлрд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ
    • рд╣реЗрдбрд░ рд▓реЗрдЖрдЙрдЯ рд╕рд╛рдордЧреНрд░реА-рд╡рд┐рд╡рд╛рдж
  • рдЕрдиреНрдп рд╕рднреА рд╢реАрд░реНрд╖ рд▓реЗрдЦ рджреЗрдЦреЗрдВ; рдЙрди рд╕рднреА рдХреЛ рдПрдХ рд╕рд╛рде рдХреЛрдб рдореЗрдВ рдбрд╛рд▓рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ
  • рд╡рд╛рддрд╛рд╡рд░рдг рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╕рдордп рд╕рд╢рд░реНрдд рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ if (env.IsDevelopment())
  • рдЧреНрд░рд╛рд╣рдХ рдФрд░ рд╕рд░реНрд╡рд░ рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
  • рдорд╛рдирдХ swagger.json рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░реЗрдВ - рд╕рдВрдЪрд╛рд░рд┐рдд рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдЕрдВрддрд░ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛
    рд╣рдорд╛рд░рд╛ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди swagger.json рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЛрдб рдЬрдирд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдерд╛ рдХрд┐ рдореВрд▓ рд╡рд┐рд╡рд░рдг рд╕реЗ рдЕрдВрддрд░ рдиреНрдпреВрдирддрдо рдерд╛ред Swashbuckle.AspNetCore рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдФрд░ рдЬреЗрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рд╕реНрд╡реИрдЧрд░.json рдмрд╣реБрдд рдмрджрд▓ рдЧрдП рд╣реИрдВред рдореБрдЭреЗ Swashbuckle.AspNetCore 1.2.0 рдХреЗ рдЬрд░реНрдЬрд░ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╡рд╛рдкрд╕ рд░реЛрд▓ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдФрд░ рдПрдХ рджреЛ рдлрд┐рд▓реНрдЯрд░ рдЬреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛ред

5. рдХреЙрдлрд╝реА рдкреАрддреЗ рд╕рдордп рдЭрдЧрдбрд╝реЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░


рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореБрдХрд╛рдмрд▓рд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рджреЛ рдиреЛрдб рд╣реЛрддреЗ рд╣реИрдВ: рд╕рдХреНрд░рд┐рдп рдФрд░ рдирд┐рд╖реНрдХреНрд░рд┐рдпред
рдирдИ рд╕реЗрд╡рд╛ рдкрд░ рдХрд┐рд╕реА рдХрд╛ рдзреНрдпрд╛рди рдирд╣реАрдВ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдкрд░ рдкреВрд▓ рдФрд░ рд╕рд╛рдЗрдЯ рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд┐рдпрд╛ рдФрд░ рдкреБрд░рд╛рдиреА рдФрд░ рдирдИ рд╕рд╛рдЗрдЯ рдХреЗ рдмреАрдЪ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреАред


рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдкрд╛рддрдХрд╛рд▓ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╣рдо рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЬрд▓реНрджреА рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓рдбрд╝рд╛рдИ рдореЗрдВ рддреИрдирд╛рддреА рдХреЗ рдмрд╛рдж, рдПрдХ рд╕рдкреНрддрд╛рд╣ рдХреЗ рднреАрддрд░ рд╣рдо рд╕реЗрд╡рд╛ рдХреА рд╡реНрдпрд╡рд╣рд╛рд░реНрдпрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрд╢реНрд╡рд╕реНрдд рд╣реЛ рдЧрдП рдФрд░ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд░реА рдмрддреНрддреА рдЬрд▓рд╛рдИред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдЬреАрд╡рди рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдкрд┐рдЫрд▓реЗ рдкрд╛рдареНрдпрдХреНрд░рдо рдореЗрдВ рд▓реМрдЯ рдЖрдпрд╛ред


рдЙрдк-рдпреЛрдЧ


рдЕрдм рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЙрдХ рдХрдВрдЯреЗрдирд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддреИрдпрд╛рд░ рд╣реИред рд╣рдо рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдФрд░ рд╕рд░реНрд╡рд┐рд╕ рдлреИрдмреНрд░рд┐рдХ рджреЛрдиреЛрдВ рдореЗрдВ рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВред


рдЕрдм рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд▓рд┐рдП рдирдП рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░реА рдЪрд▓ рд░рд╣реА рд╣реИред рд╣рдо рдЕрдЧрд▓реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рд╣рдорд╛рд░реА рдЙрдкрд▓рдмреНрдзрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдПрдВрдЧреЗ, рдЕрдкрдиреА рдЙрдВрдЧрд▓реА рдХреЛ рдирд╛рдбрд╝реА рдкрд░ рд░рдЦреЗрдВ;)

Source: https://habr.com/ru/post/hi422441/


All Articles