<p>рдиреИрдиреНрд╕реА 2.0.0-рдХреНрд▓рд┐рдВрдЯрдИрд╕реНрдЯрд╡реБрдб рдлреАрдбрдмреИрдХ</p>

рдХреЛ рдирд┐рд░реНрдорд┐рдд 22 рджрд┐рд╕ре░ 2016  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: NancyFx/Nancy

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

рдиреЛрдЯ: рдХреНрдпреЛрдВрдХрд┐ рдиреИрдиреНрд╕реА 2.0-рдХреНрд▓рд┐рдВрдЯреЗрд╕реНрдЯрд╡реБрдб рдПрдХ рдкреВрд░реНрд╡-рд░рд┐рд▓реАрдЬрд╝ рд╣реИ, рдЖрдкрдХреЛ -pre рдЯреЙрдЧрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗ, рдЕрд░реНрдерд╛рдд install-package Nancy -pre

рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВ рдЬреЛ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдП рдЧрдП рдмрдЧ рдпрд╛ рдкреБрд▓-рдЕрдиреБрд░реЛрдз рд╕реЗ рд╕реАрдзреЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВред

рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд╣рдЪрд╛рдиреЗ рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ рдЬрд┐рд╕реЗ 2.0.0-clinteastwood рд░рд┐рд▓реАрдЬ рдХреЗ рдорджреНрджреЗрдирдЬрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ $#$3 2.0.0-dangermouse #$ рдЬрд╛рд░реА рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред TODO-рд╕реВрдЪреА рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЬреИрд╕реЗ рд╣реА рдЖрдЗрдЯрдо рдорд┐рд▓рддреЗ рд╣реИрдВ рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝реЗрдВ, рдкреБрд▓-рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдВрдХ рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВ

  • [x] рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ AsyncUsageAnalyzers рдпрд╣ рд╕рднреА project.json рдФрд░ packages.config рдореЗрдВ рдмрд┐рд▓реНрдб рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдкрд░ рд╕реЗрдЯ рд╣реИ, рдпрд╣рд╛рдВ рдорд┐рд░рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдЙрджрд╛рд╣рд░рдг рд╣реИ - (рдкреБрд▓ рдЕрдиреБрд░реЛрдз #2700 @jchannon
  • [x] рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ (рдиреИрдиреНрд╕реА рд╕рд╣рд┐рдд) рдореЗрдВ рд╕рднреА рдкреБрд░рд╛рдиреА *.nuspec рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣рдЯрд╛ рджреЗрдВ (рдкреБрд▓-рдЕрдиреБрд░реЛрдз #2658 @jchannon)
  • [x] рдкреИрдХреЗрдЬ рдореЗрдВ web.config.transform рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Nancy.Hosting.Aspnet\project.json рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ (рдкреБрд▓-рдЕрдиреБрд░реЛрдз #2661 @thecodejunkie)
  • [x] рдкреИрдХреЗрдЬ рдореЗрдВ app/web.config.transform рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Nancy.ViewEngines.Razor\project.json рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ (рдкреБрд▓-рдЕрдиреБрд░реЛрдз #2661 @thecodejunkie)
  • [ ] рдкреИрдХреЗрдЬ рдореЗрдВ Nancy.ViewEngines.Razor.BuildProvider (рдмрд┐рд▓реНрдб рдЯрд╛рд░рдЧреЗрдЯ рд╕рд╣рд┐рдд) рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Nancy.ViewEngines.Razor\project.json рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ

рдирд┐рдпреЛрдЬрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди

  • [ ] Request.Cookies рдФрд░ Request.Headers.Cookie рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП #2628 рджреЗрдЦреЗрдВ
  • [ ] рд╣реБрдХ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдФрд░ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ рд╕реБрдзрд╛рд░реЗрдВ #2665
  • [ ] "рдиреИрдиреНрд╕реА рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд╡рд┐рдд рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛ рджреЗрдЦреЗрдВред рд░реВрдЯрд┐рдВрдЧред рд░реВрдЯред # 2623 рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░реЗрдВ"
  • [ ] рд╕рд╛рдордЧреНрд░реА рд╡рд╛рд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╡рд┐рдиреНрдпрд╛рд╕ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝реЗрдВред рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╡рд┐рд╕реНрддрд╛рд░ рд╕рдорд╛рдзрд╛рди рдкрд░ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП #2671 рджреЗрдЦреЗрдВ
  • [ ] рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ, рд╕рдорд╕реНрдпрд╛ # 2612 рдФрд░ рдкреБрд▓-рдЕрдиреБрд░реЛрдз # 2628 рджреЗрдЦреЗрдВ
  • [ ] рд╢реЗрд╖ рдЙрдк-рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЛ рдПрд╕рд┐рдВрдХреНрд╕ рдореЗрдВ рдмрджрд▓реЗрдВ, рдкреБрд▓-рдЕрдиреБрд░реЛрдз рджреЗрдЦреЗрдВ #2577
  • [ ] рд╕реНрдЯреЗрдЯрд┐рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдЕрдВрддрд┐рдо рд╢реЗрд╖ рднрд╛рдЧреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ

рдЬреНрдЮрд╛рдд рд╕реАрдорд╛рдПрдВ

  • рдХреБрдЫ рдкреИрдХреЗрдЬ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ AsyncUsageAnalyzers рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕реЗ рд╣рдЯрд╛рдпрд╛ рдЬрд╛рдирд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕реЗ 2.0.0-dangermouse рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдирд┐рд░реНрдорд╛рдг рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
  • Nancy.Hosting.Aspnet рдкреИрдХреЗрдЬ *.config рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХреЛ рддрд╛рд░-рддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
  • рд╡реНрдпреВ рдЗрдВрдЬрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рддрд╛рд░-рддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Nancy.ViewEngines.Razor рдкреИрдХреЗрдЬ *.config рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
  • Nancy.ViewEngines.Razor рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдб рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ NuGet рдкреИрдХреЗрдЬ рд╕реЗ рдЧрд╛рдпрдм рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдиреИрдиреНрд╕реА рд░реЗрдЬрд░ рд╡реНрдпреВ рдореЗрдВ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд┐рдВрдЧ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдмреЗрд╕ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдХреЛрдИ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ IoC рдХрдВрдЯреЗрдирд░ рд╕рдВрддреБрд╖реНрдЯ рдХрд░ рд╕рдХреЗред рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ string рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИред рдЕрдЧрд░ BaseModule рдХреЛ рдЦреБрдж рд╕реЗ рдирд╣реАрдВ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ abstract рдмрдирд╛ рд▓реЗрдВ ...

рд╕рднреА 8 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдпрд╣ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд░рди-рдЯрд╛рдЗрдо рдлреЗрдВрдХрддрд╛ рд╣реИ NullReferenceException :

pipelines.BeforeRequest.AddItemToStartOfPipeline((ctx, _) =>
{
    // do stuff
    // Func<NancyContext, Response>, Func<NancyContext, CancellationToken, Response>
    return null;
});

рдпрд╣ рд╕рд╣реА рд╣реИ:

pipelines.BeforeRequest.AddItemToStartOfPipeline((ctx, _) =>
{
    //do stuff
    // Func<NancyContext, CancellationToken, Task<Response>>
    return Task<Response>.FromResult((Response)null);
});

рджреАрд╡рд╛рд░ рдХреЗ рдЦрд┐рд▓рд╛рдл рдореЗрд░реЗ рд╕рд┐рд░ рдХреЛ рдХреЛрд╕рдиреЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛ рд╕рдордп рд▓рдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдореБрдЭреЗ рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓рд╛ рдХрд┐ рди рддреЛ рд╕реБрдкрд░-рдбреБрдкрд░ рд╣реИ рдФрд░ рди рд╣реА рдЦреБрд╢ рд╣реИред

@рджрд╛рдирдмрд░реБрдЖ рдзрдиреНрдпрд╡рд╛рджред рдореИрдВрдиреЗ https://github.com/NancyFx/Nancy/issues/2665 рдЦреЛрд▓рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЬреИрд╕реЗ рд╣реА рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмреВрдЯрд╕реНрдЯреНрд░реИрдкрд░ рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рд╕рдордп рд╣реЛрдЧрд╛, рдореИрдВ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕рд╛рдорд╛рди рдХреЛ рдПрдХ рдУрд╡рд░рд╣рд╛рд▓ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ (рдЬреЛ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рд╣реЛрдЧрд╛ рдореИрдВрдиреЗ рд╣рдореЗрдВ рдирдП csproj рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЕрдм #2720 рдореЗрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ)

рдпрд╛рдХ рд╢реЗрд╡рд┐рдВрдЧ! рдореИрдВ

рдпрд╣ рдХреЛрдб рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрддрд╛ рд╣реИ, рдХреНрдпрд╛ рдпрд╣ рдмрдЧ рд╣реИ?

```рд╕реА#

рдкрдмреНрд▓рд┐рдХ рдХреНрд▓рд╛рд╕ рдмреЗрд╕рдореЙрдбреНрдпреВрд▓: рдиреИрдиреНрд╕реАрдореЙрдбреНрдпреВрд▓
{
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдмреЗрд╕рдореЙрдбреНрдпреВрд▓ (рд╕реНрдЯреНрд░рд┐рдВрдЧ рдпреВрдЖрд░рдПрд▓): рдмреЗрд╕ (рдпреВрдЖрд░рдПрд▓)
{
// рдХрд╕реНрдЯрдо рддрд░реНрдХ
}
}

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд░реНрдЧ рдП: рдмреЗрд╕рдореЙрдбреНрдпреВрд▓
{
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдП (): рдЖрдзрд╛рд░ ("рдпреВрдЖрд░рдПрд▓рдП")
{

}

}

рдкрдмреНрд▓рд┐рдХ рдХреНрд▓рд╛рд╕ рдмреА: рдиреИрдиреНрд╕реАрдореЙрдбреНрдпреВрд▓
{
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдмреА ()
{

}

}


System.InvalidOperationException рд╣реБрдИ
рдПрдЪ рдкрд░рд┐рдгрд╛рдо = 0x80131509
рд╕рдВрджреЗрд╢ = рд╕рдВрд░рдЪрдирд╛ рдХреЗ рджреМрд░рд╛рди рдирд┐рд░реНрднрд░рддрд╛ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рдЧрдпрд╛, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдиреЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕рднреА рдирдИ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдВрддрд░рд┐рдХ рдЕрдкрд╡рд╛рдж рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВред
рд╕реНрд░реЛрдд =
рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕:
Nancy.Bootstrapper.NancyBootstrapperBase 1.SafeGetNancyEngineInstance() at Nancy.Bootstrapper.NancyBootstrapperBase рдкрд░ 1.GetEngine()
Nancy.Owin.NancyMiddleware.UseNancy(NancyOptions options) рдкрд░
E:visual_studiopiggy-banksourcePiggyBank.SiteStartup.cs:line 31 рдореЗрдВ Nancy.Owin.DelegateExtensions.UseNancy(Action 1 builder, NancyOptions options) at PiggyBank.Site.Startup.<>c.<Configure>b__2_0(Action 1 x) рдкрд░
Microsoft.AspNetCore.Builder.OwinExtensions.UseOwin (IApplicationBuilder рдирд┐рд░реНрдорд╛рддрд╛, Action`1 рдкрд╛рдЗрдкрд▓рд╛рдЗрди) рдкрд░
E:visual_studiopiggy-banksourcePiggyBank.SiteStartup.cs:line 31 рдореЗрдВ PiggyBank.Site.Startup.Configure(IAapplicationBuilder рдРрдк, IHostingEnvironment env, ILoggerFactory loggerFactory) рдкрд░

рдЖрдВрддрд░рд┐рдХ рдЕрдкрд╡рд╛рдж 1:
TinyIoCResolutionException: рдкреНрд░рдХрд╛рд░ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде: Nancy.NancyEngine

рдЖрдВрддрд░рд┐рдХ рдЕрдкрд╡рд╛рдж 2:
TinyIoCResolutionException: рдкреНрд░рдХрд╛рд░ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде: Nancy.Routing.DefaultRequestDispatcher

рдЖрдВрддрд░рд┐рдХ рдЕрдкрд╡рд╛рдж 3:
TinyIoCResolutionException: рдкреНрд░рдХрд╛рд░ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде: Nancy.Routing.DefaultRouteResolver

рдЖрдВрддрд░рд┐рдХ рдЕрдкрд╡рд╛рдж 4:
TinyIoCResolutionException: рдкреНрд░рдХрд╛рд░ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде: Nancy.Routing.RouteCache

рдЖрдВрддрд░рд┐рдХ рдЕрдкрд╡рд╛рдж 5:
TinyIoCResolutionException: рдкреНрд░рдХрд╛рд░ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде: BaseModule

рдЖрдВрддрд░рд┐рдХ рдЕрдкрд╡рд╛рдж 6:
TinyIoCResolutionException: рдкреНрд░рдХрд╛рд░ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде: System.String

рдЖрдВрддрд░рд┐рдХ рдЕрдкрд╡рд╛рдж 7:
TinyIoCResolutionException: рдкреНрд░рдХрд╛рд░ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде: System.Char[]

рдЖрдВрддрд░рд┐рдХ рдЕрдкрд╡рд╛рдж 8:
ArgumentNullException: рдорд╛рди рд╢реВрдиреНрдп рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред

```

рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдмреЗрд╕ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдХреЛрдИ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ IoC рдХрдВрдЯреЗрдирд░ рд╕рдВрддреБрд╖реНрдЯ рдХрд░ рд╕рдХреЗред рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ string рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИред рдЕрдЧрд░ BaseModule рдХреЛ рдЦреБрдж рд╕реЗ рдирд╣реАрдВ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ abstract рдмрдирд╛ рд▓реЗрдВ ...

рдкреБрд░рд╛рдирд╛:

Get["post/{id}"] = Get["old/post/{id}"] = p =>{};

рдирдпрд╛ (2.0):

?

рдЧреЗрдЯ ("рдкреЛрд╕реНрдЯ/{рдЖрдИрдбреА}", MyMethod);
рдЧреЗрдЯ ("рдкреБрд░рд╛рдирд╛/рдкреЛрд╕реНрдЯ/{рдЖрдИрдбреА}", MyMethod);

рдЧреЗрдЯ ("рдкреЛрд╕реНрдЯ/{рдЖрдИрдбреА}", MyMethod);
рдЧреЗрдЯ ("рдкреБрд░рд╛рдирд╛/рдкреЛрд╕реНрдЯ/{рдЖрдИрдбреА}", MyMethod);

рд╡рд╣ рдЙрдкрдпреЛрдЧ рдХреБрдЫ рд╕рдВрдХреЗрдд рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдпрд╣ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

рд╢рд╛рдпрдж рдзрд╛рд░рд╛рдкреНрд░рд╡рд╛рд╣ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╡рд┐рдзрд┐ рдЕрдзрд┐рднрд╛рд░ рд╣реЛрдирд╛ рд╕рдВрднрд╡ рд╣реИ? рдЙрджрд╛рд╣рд░рдг:

Get("post/{id}")
.Get("old/post/{id}")
.Post("whatever/{id}", p => { return HttpStatusCode.Ok });

рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐

Get("post/{id}")
.Get("old/post/{id}")
.Post("whatever/{id}")
.Do(p => { return HttpStatusCode.Ok });

рдЕрдЧрд░ рдпрд╣ рд╡рд╛рдВрдЫрдиреАрдп рд╣реИ рддреЛ рдореИрдВ рдкреАрдЖрд░ рдкрд░ рд╡рд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

destagia picture destagia  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ndphuong picture ndphuong  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

thecodejunkie picture thecodejunkie  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

phillip-haydon picture phillip-haydon  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

bsommardahl picture bsommardahl  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ