рдУрд╡рд┐рди рдФрд░ рдХрдЯрд╛рдирд╛: рдлрд░реНрд╕реНрдЯ рд▓реБрдХ

Microsoft рдХреА рд╡реЗрдм рддрдХрдиреАрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред 98 рдХреЗ рдмрд╛рдж рд╕реЗ, рдореБрдЦреНрдп рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдг ASP .Net рд╣реИред рдпрд╣ рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рд╣реИ: рд╕рдореГрджреНрдз рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛, рдорд╛рд░реНрдХрдЕрдк рд╕реЗ рддрд░реНрдХ рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛, рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдореЙрдбрд▓ред рдХрдИ рдкреНрд▓рд╕ рдФрд░ рдорд┐рдиреНрдпреВрдЬрд╝ рднреА рд╣реИрдВ: рд╕рднреА рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рд╡рд┐рд╖рдо рдШрдЯрдХреЛрдВ рдХреЛ рдПрдХ рд╣реА рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд┐рдзрд╛рдирд╕рднрд╛ (HTTP рдХрд░реНрдиреЗрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ, рд╡реЗрдмрдлреЙрд░реНрдо, рдЖрджрд┐)ред рдпрд╣ рд╕рдм рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдПрд╕рдкреА .рдиреЗрдЯ рдХреЛ рдмрдбрд╝реЗ рдиреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░рд┐рд▓реАрдЬ рдХреЗ рдмреАрдЪ рдХрд╛ рд╕рдордп рдХрдИ рд╕рд╛рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдпрд╣ ASP .NET рдХреЛ рд╕рдордп рдХреЗ рд╕рд╛рде рдФрд░ рд╡реЗрдм рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдЕрдЦрдВрдб рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдЗрд╕ рд╕рднреА рдзрди рдХреЛ рдзреАрдорд╛ рдФрд░ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдмрдирд╛ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдХреЛрдИ рднреА рдкрд░рд┐рд╡рд░реНрддрди рдХрдИ рдШрдЯрдХреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред

рд╕рдордп рдХреЗ рд╕рд╛рде, рдмрд╛рдЬрд╛рд░ рдореЗрдВ рд╕реНрдерд┐рддрд┐ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ: ASP .NET рдХреЛ MVC рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ рдЕрдЬрд╛рдХреНрд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдореБрдЦреНрдп рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдЗрд╕рд╕реЗ рдЗрди рдШрдЯрдХреЛрдВ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рд░рд┐рд╣рд╛рдИ рдореЗрдВ рддреЗрдЬреА рд▓рд╛рдиреЗ рдФрд░ рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рдордп рдкрд░ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИред ASP .NET рдкреНрд▓рдЧ-рдЗрди рдШрдЯрдХреЛрдВ рдХрд╛ рдПрдХ рдкрд░рд┐рд╡рд╛рд░ рдмрди рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рд╕рдВрд░рдЪрдирд╛ рдирд╣реАрдВред

MVC рдлреНрд░реЗрдорд╡рд░реНрдХ Microsoft рджреНрд╡рд╛рд░рд╛ рд░реВрдмреА рдСрди рд░реЗрд▓реНрд╕ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рдФрд░ рдЖрдзреБрдирд┐рдХ рдХрджрдоред рдЗрд╕ рдЙрддреНрдкрд╛рдж рдиреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдорд╛рд░реНрдХрдЕрдк рдкрд░ рдЕрдзрд┐рдХ рдирд┐рдпрдВрддреНрд░рдг рджрд┐рдпрд╛, рдЬрдмрдХрд┐ рдЗрд╕реЗ рд╡реНрдпрд╛рдкрд╛рд░рд┐рдХ рддрд░реНрдХ рд╕реЗ рдЕрд▓рдЧ рд░рдЦрд╛ред

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

Owin


рд░реИрдХ рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реЛрдХрд░, рдХрдИ .NET рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рдШрдЯрдХреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдЕрдореВрд░реНрдд рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рджреЛ рд▓рдХреНрд╖реНрдп рдереЗ:



рдФрд░ рд╡рд╣реА рд╣реБрдЖред

OWIN (.NET рдХреЗ рд▓рд┐рдП рдУрдкрди рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕) рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдФрд░ рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЗ рдмреАрдЪ рдмрд╛рддрдЪреАрдд рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╣реИред

OWIN рдХрд╛ рдЖрдзрд╛рд░ IDEDIA <string, object> Dictionary рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ HTTP рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ, рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рд╣реЗрдбрд░ рдФрд░ рд╣реЛрд╕реНрдЯ рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рднреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ OWIN рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЗрд╕ рд╢рдмреНрджрдХреЛрд╢ рдХреЛ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдУрд╡рд┐рди-рд╕рдВрдЧрдд рд╕рд░реНрд╡рд░ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд OWIN рддрддреНрд╡ рд╣реИред рдпрд╣ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд╣реИ:

Func<IDictionary<string, object>, Task>; 

рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╢рдмреНрджрдХреЛрд╢ рд▓реЗрддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЕрдВрдд рдореЗрдВ рдПрдХ рдЯрд╛рд╕реНрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рджреЗрддрд╛ рд╣реИред

Owin.dll рд▓рд╛рдЗрдмреНрд░реЗрд░реА (NuGet рдкрд░ рдЙрдкрд▓рдмреНрдз) рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ IAppBuilder рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ:

 public interface IAppBuilder { IDictionary<string, object> Properties { get; } IAppBuilder Use(object middleware, params object[] args); [SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "New", Justification = "By design")] IAppBuilder New(); } 


рдпрд╣ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ OWIN рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╡рд┐рдХрд╕рд┐рдд рд╕рднреА рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдХреЛрдИ рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдЗрдирдореЗрдВ рд╕реЗ рдПрдХ рдШрдЯрдХ рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдФрд░ рд╡реЗрдмрдПрдкреАрдЖрдИ рд╣реИ рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдУрд╡рд┐рди-рд╕рдВрдЧрдд рд╣реИрдВред

OWIN рд╣реЛрд╕реНрдЯрд┐рдВрдЧ


OWIN рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдХреЗрд╡рд▓ рдЙрдиреНрд╣реАрдВ рдШрдЯрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВ, рдЬрд┐рдирдХреА рд╣рдореЗрдВ рдпрд╣реАрдВ рдФрд░ рдЕрднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЪрд╛рд╣реЗ рд╡рд╣ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдореЙрдбреНрдпреВрд▓ рд╣реЛ, рд╡рд╣реА рд╕рд┐рдЧреНрдирд▓рдЖрд░, рд╕реНрдерд┐рд░ рдкреГрд╖реНрда рдЖрджрд┐ред рдФрд░ IIS рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рдХреЛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдЕрддрд┐рднрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рд╣реЛрдЧрд╛ред

рдХрдЯрд╛рдирд╛ Microsoft рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд┐рдд рдПрдХ OWIN- рд╕рдВрдЧрдд рд╣реЛрд╕реНрдЯ рд╣реИред OWIN рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдЯрд╛рдирд╛ рдХреЗ рдкрд╛рд╕ Owin.Typin рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдирд┐рд╣рд┐рдд рд╡рд┐рдХрд╛рд╕ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рд╕рд╣рд╛рдпрдХ рдХрдХреНрд╖рд╛рдПрдВ рдФрд░ рд░реИрдкрд░ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рджреЛ рдПрдбреЗрдкреНрдЯрд░ рдХреНрд▓рд╛рд╕реЗрд╕ рдЬреЛ рдбрд┐рдХреНрд╢рдирд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддреЗ рд╣реИрдВ: рдУрд╡реЗрдирд░реИрдХреНрд╡реЗрд╕реНрдЯ рдФрд░ рдУрдЗрдирд░рд┐рд╕реНрдкреЙрдиреНрд╕, рдУрдЙрдЗрди рдХреЗ рд▓рд┐рдП рд╡реЗрдмрд╕реНрдХреЗрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдУрд╡рд┐рдВрд╡реЗрдмрдХреЗрдЯ рдФрд░ рд╣реЗрдбрд░ рдФрд░ рдЕрдиреНрдп рдЕрдиреБрд░реЛрдз рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рд╡рд░реНрдЧ рдУрд╡реЗрдирд╣реЗрд▓реНрдкрд░реНрд╕ рд╣реИред

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

рдЕрднреНрдпрд╛рд╕


рдЕрднреНрдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдп рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо OWIN рдХреЗ рдЖрдзрд╛рд░ рдкрд░ WebApi рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХрдЯрд╛рдирд╛ рдХреЛ рдХреИрд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдЖрдЗрдП рдЗрд╕ рд╕реНрд╡-рдореЗрдЬрдмрд╛рди рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред рдПрдХ рд╕рд░рд▓ рдХрдВрд╕реЛрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ WebApiOwinSelfHostDemo рд╣рдореЗрдВ WebApi рдХреЗ рдПрдХ рдЙрдЪрд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдо рдЗрд╕реЗ NuGet рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд╛рд▓рддреЗ рд╣реИрдВред

рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ-рдкреИрдХреЗрдЬ Microsoft.AspNet.WebApi.OwinSelfHost -Pre
рдпрд╣ рдХрдорд╛рдВрдб рд╕рднреА рдЖрд╡рд╢реНрдпрдХ OWIN рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред
рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ рдирдпрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреНрд▓рд╛рд╕ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд▓рд┐рдЦреЗрдВ:



рдЗрд╕ рд╡рд░реНрдЧ рдХреЛ рдмрдирд╛рддреЗ рд╣реБрдП, рд╣рдо рдХрдЯрд╛рдирд╛ рд╕рдореНрдореЗрд▓рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ: рдПрдХ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп, рдХрдЯрд╛рдирд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╡рд░реНрдЧ рдХреА рддрд▓рд╛рд╢ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдмрдирд╛рдиреЗ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди () рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред
рдЕрдЧрд▓рд╛, рдПрдХ рд╕рд╛рдзрд╛рд░рдг WebApi рдирд┐рдпрдВрддреНрд░рдХ рдЬреЛрдбрд╝реЗрдВ:



рд╣рдорд╛рд░рд╛ рдЖрд╡реЗрджрди рддреИрдпрд╛рд░ рд╣реИ, рдЕрдм рд╣рдореЗрдВ OWIN рд╣реЛрд╕реНрдЯ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ HttpClient рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:



рдЖрд╡реЗрджрди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред



рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ!

IIS рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓рд╛рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк


рдпрд╣ рд╕рдм рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓рд╛рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рди рдХрд┐ рдХреЗрд╡рд▓ рдПрдХ рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВред

Microsoft.Owin.Host.SystemWeb рдкреБрд╕реНрддрдХрд╛рд▓рдп IIS рдХреЗ рд▓рд┐рдП рдУрд╡рд┐рди рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдпрд╣реА рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдПред
рдПрдХ рд░рд┐рдХреНрдд ASP .NET рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдБред рдПрдПрд╕рдкреА .рдиреЗрдЯ рдХреНрдпреЛрдВ? рдпрд╣ рд╣рдореЗрдВ IIS рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдореЗрдВ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рдЧрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреЗрдЧрд╛ред
WebAPI рдЬреЛрдбрд╝реЗрдВ:
 Install-Package Microsoft.AspNet.WebApi.Owin -Pre 


IIS рдХреЗ рд▓рд┐рдП OWIN рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬреЛрдбрд╝реЗрдВ:
 Install-Package Microsoft.Owin.Host.SystemWeb 


рдЖрдк рдХрдЯрд╛рдирд╛ рдЯреВрд▓рд┐рдВрдЧ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВред рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЗрд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ IIS рдХреЗ рддрд╣рдд рдЪрд▓рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рдЯ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдУрдЙрди рд╣реЛрд╕реНрдЯ OwinHost.exe рдкрд░ рд▓реЙрдиреНрдЪ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред

рдмрд╛рдХреА рдмрд┐рд▓рдХреБрд▓ рд╡реИрд╕рд╛ рд╣реА рд╣реИред рд╕реЗрд▓реНрдл-рд╣реЛрд╕реНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреНрд▓рд╛рд╕ рдФрд░ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреНрд▓рд╛рд╕ред

рдЯрд┐рдкреНрдкрдгреА: рдХрдЯрд╛рдирд╛ рдЯреВрд▓реАрдВрдЧ рд╡реЗрдм рдЖрдкреА рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛, рдпрд╣ рдПрдХ рддреНрд░реБрдЯрд┐ рдореЗрдВ рдЧрд┐рд░ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдЕрднреА рддрдХ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╢рд╛рдпрдж рдореЗрд░реЗ рд╣рд╛рде рдЯреЗрдврд╝реЗ рд╣реЛред

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

http://owin.org/ - рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ OWINред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрдЯрд╛рдирд╛ рдХрд╛ рдЕрд╡рд▓реЛрдХрди - рдбреЗрд╡рд▓рдкрд░реНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдХрдЯрд╛рдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦред рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╢рд╛рдВрдд рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдЗрд╕ рд▓реЗрдЦ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреНрд╖рдгреЛрдВ рдХрд╛ рдореИрдВ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдпрд╣рд╛рдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реВрдВред
OWIN рдХреЗ рд╕рд╛рде рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдиреИрдиреНрд╕реА
рдХрдЯрд╛рдирд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛
OWIN рдФрд░ рдХрдЯрд╛рдирд╛ - рдЗрд╕ рдмреНрд▓реЙрдЧ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдХрдЯрд╛рдирд╛ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рдП, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ OWIN рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВ рдЗрд╕ рдмреНрд▓реЙрдЧ рдХреА рджреГрдврд╝рддрд╛ рд╕реЗ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдореИрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдЙрдкрдпреЛрдЧреА рдЪреАрдЬреЗрдВ рдкрдврд╝ рд░рд╣рд╛ рд╣реВрдВред

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


All Articles