рд╢реБрдн рджреЛрдкрд╣рд░, рдкреНрд░рд┐рдп рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВред
рдЪрдХреНрд░ рдХреЗ рдкрд╣рд▓реЗ рдкрд╛рдБрдЪ рднрд╛рдЧ
рдпрд╣рд╛рдБ рдЙрдкрд▓рдмреНрдз
рд╣реИрдВ ред рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдЗрд╕ рднрд╛рдЧ рдореЗрдВ, рд╣рдо рдПрдХ рд╕рд░рд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреА рд╕рд░рд▓ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЛ Cloud Services (рдкреВрд░реНрд╡-рд╣реЛрд╕реНрдЯреЗрдб рд╕реЗрд╡рд╛рдУрдВ) рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдХрд┐ WIndows Azure рд░реЛрд▓ рдореЙрдбрд▓, Windows Azure Service Bus рдФрд░ рднрдВрдбрд╛рд░рдг рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧреАред
рдЖрдЗрдП рдирд┐рдореНрди рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рджреЗрдЦреЗрдВ: рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдкрдиреА рд╡реЗрдмрд╕рд╛рдЗрдЯ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ASP.NET MVC 4 рд╡реЗрдмрд╕рд╛рдЗрдЯ, рдЬрд┐рд╕реЗ рдмрд╛рдж рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреА) рдкрд░ Windows Azure рд╡реЗрдм рд╕рд╛рдЗрдЯреНрд╕ рдкрд░ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рд╕рдордп рдмрд╛рдж рдЖрдкрдХреЛ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ - рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдкрдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЕрдкрдиреА рдЧреИрд▓рд░реА рдореЗрдВ рдЪрд┐рддреНрд░ рдЕрдкрд▓реЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рдПрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдорджрдж рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдЖрдкрдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреА рд▓рдЪреАрд▓реА рдорд╛рдкрдиреАрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рд░реНрдд рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬ рдПрдЬрд╝реНрдпреЛрд░ рд╡реЗрдм рд╕рд╛рдЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреА рдкреВрд░реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЛ рдХреЗрд╡рд▓ рд╕реНрдХреЗрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рдЕрдХреБрд╢рд▓ рд╕рдорд╛рдзрд╛рди рд╣реИ - рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдореБрдЦреНрдп рдмреЛрдЭ рд╡реЗрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдмрдЬрд╛рдп рдЫрд╡рд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рд╣реЛрдЧрд╛ред рдПрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЛ рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдПрдЬрд╝реНрдпреЛрд░ рдХреНрд▓рд╛рдЙрдб рд╕рд░реНрд╡рд┐рд╕реЗрдЬ рд░реЛрд▓ рдореЙрдбрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЛ рдкреБрдирд░реНрдЬреАрд╡рд┐рдд рдХрд░рдирд╛, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╡рд┐рдВрдбреЛрдЬ рдПрдЬрд╝реНрдпреЛрд░ рдмреНрд▓реЙрдм рд╕реНрдЯреЛрд░реЗрдЬ рдФрд░ рд╕рд░реНрд╡рд┐рд╕ рдмрд╕ рдХреНрдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рдкреНрд░рднрд╛рд╡реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдЗрд╕ рднрд╛рдЧ рдореЗрдВ, рдЖрдк рдПрдХ рдХреНрд▓рд╛рдЙрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВрдЧреЗ рдЬрд┐рд╕рдореЗрдВ рджреЛ рдкрд░рддреЗрдВ рд╣реЛрдВрдЧреА:
1) рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╡реЗрдм рднреВрдорд┐рдХрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдЖрд╡реЗрджрди рдХреЗ рдореБрдЦреНрдп рдкреГрд╖реНрда рдкрд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛, рд╕рд╛рде рд╣реА рдкрд╣рд▓реЗ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рднреА рджреЗрдЦ рд╕рдХреЗрдЧрд╛ред рдЫрд╡рд┐ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╡реЗрдм рднреВрдорд┐рдХрд╛ рдЫрд╡рд┐ рдХреЛ рдмреВрдБрдж рднрдВрдбрд╛рд░рдг рдореЗрдВ рдмреВрдБрдж рдХрдВрдЯреЗрдирд░ рдореЗрдВ рднреЗрдЬ рджреЗрдЧреА, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рдХрд╛рд░реНрдп рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдлрд┐рд░ рд╕реЗрд╡рд╛ рдмрд╕ рдкреНрд░рддрд┐рдорд╛ рдореЗрдВ рдЫрд╡рд┐ рдХреЗ рд╕рд╛рде рдмреВрдБрдж рд╕реЗ рд▓рд┐рдВрдХ рд╕реЗ рдорд┐рд▓рдХрд░ рд╕рдВрджреЗрд╢ рдбрд╛рд▓ рджреЗрдЧрд╛ред
2) рдПрдХ рдЫрд╡рд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдПрдХ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреА рднреВрдорд┐рдХрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдПрдХ рдЕрдВрддрд╣реАрди рд▓реВрдк рдореЗрдВ, рд╣реИрдВрдбрд▓рд░ рд╡реЗрдм рднреВрдорд┐рдХрд╛ рд╕реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд┐рд╕ рдмрд╕ рдХрддрд╛рд░ рдХреЛ рдХреНрд╡реЗрд░реА рдХрд░реЗрдЧрд╛ рдФрд░ рдпрджрд┐ рдХрддрд╛рд░ рдореЗрдВ рдХреЛрдИ рд╕рдВрджреЗрд╢ рд╣реИ, рддреЛ рд╡рд╣ рдЗрд╕реЗ рдЙрдард╛рдПрдЧрд╛, рдЫрд╡рд┐ рдмреНрд▓реЙрдм рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛, рдФрд░ рдлрд┐рд░ рдПрдХ рдирдпрд╛ рдмреВрдБрдж рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рд╕реНрд░реЛрдд рдмреВрдБрдж рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдПрдХ рд╣реА рдЫрд╡рд┐ рдФрд░ рдмреВрдБрдж рднрдВрдбрд╛рд░ рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ред
Windows Azure рдкрд░ Cloud Services рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
рдПрдХ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ
http://windows.azure.com рдЦреЛрд▓реЗрдВ рдФрд░ рдЕрдкрдиреЗ рд╡рд┐рдВрдбреЛрдЬ рд▓рд╛рдЗрд╡ рдЖрдИрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ, рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХрд╛ рд╡рд┐рдВрдбреЛрдЬ рдПрдЬрд╝реНрдпреЛрд░ рдЦрд╛рддрд╛ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред
рдПрдХ рдирдпрд╛ рд╕рдВрдЧреНрд░рд╣рдг рдЦрд╛рддрд╛ рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╡рд┐рдВрдбреЛрдЬ рдПрдЬрд╝реНрдпреЛрд░ рдореЗрдиреВ рд╕реЗ,
рдиреНрдпреВ рд╕реНрдЯреЛрд░реЗрдЬ рдЕрдХрд╛рдЙрдВрдЯ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓рд╛
рдПрдХ рдирдпрд╛ рд╕рдВрдЧреНрд░рд╣рдг рдЦрд╛рддрд╛ рдмрдирд╛рдПрдБ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдореЗрдВ, рдЕрдкрдиреА рд╕рджрд╕реНрдпрддрд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ
рдПрдХ рд╕рджрд╕реНрдпрддрд╛ рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рдЪреБрдиреЗрдВред
URL URL рджрд░реНрдЬ рдХрд░реЗрдВ рдмреЙрдХреНрд╕ рдореЗрдВ, рдЕрдкрдиреЗ рд╕рдВрдЧреНрд░рд╣рдг рдЦрд╛рддреЗ рдХрд╛ рдирд╛рдо
рджрд░реНрдЬ рдХрд░реЗрдВ , рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
<yourname> рдЧреИрд▓рд░реА , рдЬрд╣рд╛рдВ
<yourname> рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдирд╛рдо рд╣реИред Windows Azure рдЗрд╕ рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдВрдЧреНрд░рд╣рдг рдЦрд╛рддрд╛ рд╕реЗрд╡рд╛рдПрдБ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдмрд┐рдВрджреБ URL рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИред
рдПрдХ рдЖрддреНрдореАрдпрддрд╛ рд╕рдореВрд╣ рдмрдирд╛рдПрдБ рдпрд╛ рдЪреБрдиреЗрдВ рдЪреБрдиреЗрдВ рдФрд░ рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рдореЗрдВ
рдПрдХ рдирдпрд╛ рдЖрддреНрдореАрдпрддрд╛ рд╕рдореВрд╣ рдмрдирд╛рдПрдБ рдкрд░ рдХреНрд▓рд┐рдХ
рдХрд░реЗрдВ ред
рдПрдХ рдирдпрд╛ рдПрдлрд┐рдирд┐рдЯреА рдЧреНрд░реБрдк рдмрдирд╛рдПрдБ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдореЗрдВ,
рдПрдлрд┐рдирд┐рдЯреА рдЧреНрд░реБрдк рдиреЗрдо рдЯреЗрдХреНрд╕реНрдЯ рдмреЙрдХреНрд╕ рдореЗрдВ
рдПрдлрд┐рдирд┐рдЯреА рдЧреНрд░реБрдк рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВ, рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рдореЗрдВ
рд╕реНрдерд╛рди рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░
рдУрдХреЗ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
ред рдирдпрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдЕрдХрд╛рдЙрдВрдЯ рдмрдирд╛рдПрдБ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдореЗрдВ рд▓реМрдЯрдХрд░,
рдирдпрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдЕрдХрд╛рдЙрдВрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд┐рдХ
рдХрд░реЗрдВ ред
рдЦрд╛рддрд╛ рдЖрд░рдВрдн рдХрд░рдиреЗ рдФрд░ "рдЯреНрд░реА"
рд╕рдВрдЧреНрд░рд╣рдг рдЦрд╛рддреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкреНрд░реЙрдкрд░реНрдЯреАрдЬрд╝ рдкреНрд░реЙрдкрд░реНрдЯреА рдмрд╛рд░ рд╡реЙрд▓реНрдЯ рдЦрд╛рддреЗ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛ рд╕реЗ рдЬреБрдбрд╝реЗ
URL рдХреЛ рджрд┐рдЦрд╛рддреА рд╣реИред рддрд┐рдЬреЛрд░реА рдЦрд╛рддреЗ рдХрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдирд╛рдо рд░рд┐рдХреЙрд░реНрдб рдХрд░реЗрдВ - рдЖрдкрдХреЗ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБрдУрдВ рдХреЗ URL рдХрд╛ рдкрд╣рд▓рд╛ рдЦрдВрдбред рдкреНрд░реЙрдкрд░реНрдЯреА рдкреНрд░реЙрдкрд░реНрдЯреА рдмрд╛рд░ рдореЗрдВ
рдкреНрд░рд╛рдЗрдорд░реА рдПрдХреНрд╕реЗрд╕ рдХреА рдХреЗ рдЖрдЧреЗ
рд╡реНрдпреВ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рд╕рдВрдЧреНрд░рд╣рдг рдПрдХреНрд╕реЗрд╕ рдХреБрдВрдЬреА рджреЗрдЦреЗрдВ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдореЗрдВ,
рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ (
рдкреНрд░рд╛рдердорд┐рдХ рдПрдХреНрд╕реЗрд╕ рдХреБрдВрдЬреА рдХреЗ рдмрдЧрд▓ рдореЗрдВ
) рдкрд░ рдХреНрд▓рд┐рдХ
рдХрд░реЗрдВ ред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдкреА рдХрд┐рдП рдЧрдП рдорд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдПрдХ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╕реЗрд╡рд╛ рдмрдирд╛рдПрдВ рдЬреЛ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧреА: рдмрд╛рдПрдВ рдлрд▓рдХ рдореЗрдВ,
рд╣реЛрд╕реНрдЯреЗрдб рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдореЗрдиреВ рдореЗрдВ рд╕реНрдерд┐рдд
рдирдИ рд╣реЛрд╕реНрдЯреЗрдб рд╕реЗрд╡рд╛ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рдирдпрд╛ рд╣реЛрд╕реНрдЯреЗрдб рд╕реЗрд╡рд╛ рдмрдирд╛рдПрдБ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдореЗрдВ, рдЕрдкрдиреА рд╕рджрд╕реНрдпрддрд╛ рдХрд╛ рдЪрдпрди
рд╕рджрд╕реНрдпрддрд╛ рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рд╕реЗ рдХрд░реЗрдВред рд╕реЗрд╡рд╛ рдирд╛рдо
рджрд░реНрдЬ рдХрд░реЗрдВ рдЕрдкрдиреЗ рд╕реЗрд╡рд╛ рдкрд╛рда рдмреЙрдХреНрд╕ рдХреЗ
рд▓рд┐рдП рдПрдХ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВ рдФрд░ рдЙрдЪрд┐рдд рдореВрд▓реНрдп
рджрд░реНрдЬ рдХрд░рдХреЗ URL рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред
рдЕрдкрдиреА рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ URL рдЙрдкрд╕рд░реНрдЧ рджрд░реНрдЬ рдХрд░реЗрдВ , рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
<yourname> рдЧреИрд▓рд░реА , рдЬрд╣рд╛рдВ
< yourname > рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдирд╛рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред Windows Azure рдЗрд╕ рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реЗрд╡рд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдмрд┐рдВрджреБ URL рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИред
рдПрдХ рдЖрддреНрдореАрдпрддрд╛ рд╕рдореВрд╣ рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА
рдмрдирд╛рдПрдБ рдпрд╛ рдЪреБрдиреЗрдВ , рдЙрд╕
рдЖрддреНрдореАрдпрддрд╛ рд╕рдореВрд╣ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рддрд┐рдЬреЛрд░реА рдЦрд╛рддреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рдмрдирд╛рдпрд╛ рдерд╛ред рдирд┐рд░реНрджрд┐рд╖реНрдЯ
рди рдХрд░реЗрдВ рдкрд░рд┐рдирд┐рдпреЛрдЬрдиред рд╕реЗрд╡рд╛ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП
рдареАрдХ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдкреНрд░рд╛рд░рдВрдн рд╣реЛрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреВрд░реА рд╣реЛрдиреЗ рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред
рд╕рд░реНрд╡рд┐рд╕ рдмрд╕, рдкрд╣реБрдВрдЪ рдирд┐рдпрдВрддреНрд░рдг рдФрд░ рдХреИрд╢рд┐рдВрдЧ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ
ред рд╕рд░реНрд╡рд┐рд╕ рдмрд╕ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ
ред рдирдпрд╛ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реА
рдПрдХ рдирдИ рд╕реЗрд╡рд╛ рдиреЗрдорд╕реНрдкреЗрд╕ рдбрд╛рдпрд▓реЙрдЧ рдмреЙрдХреНрд╕
рдмрдирд╛рдПрдВ , рдЕрдкрдиреЗ
рдиреЗрдорд╕реНрдкреЗрд╕ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
mytestservicebus) рдХрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВ, рдПрдХ рд╕реНрдерд╛рди рдХреНрд╖реЗрддреНрд░ рдЪреБрдиреЗрдВ, рдФрд░
рдХреНрд░рд┐рдПрдЯ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреНрд▓рд┐рдХ
рдХрд░реЗрдВред ред рдмрдирд╛рдП рдЧрдП рдирд╛рдо рд╕реНрдерд╛рди рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреБрдВрдЬреА рдлрд╝реАрд▓реНрдб рдореЗрдВ
рдЧреБрдг рдкреИрдирд▓ рдкрд░
рджреГрд╢реНрдп рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЬрд╛рд░реАрдХрд░реНрддрд╛ рдФрд░
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреБрдВрдЬреА рдорд╛рди рдХреЛ
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреБрдВрдЬреА рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рд╕реЗ рдХреЙрдкреА рдХрд░реЗрдВред
рддреИрдирд╛рддреА рдФрд░ рднрдВрдбрд╛рд░рдг рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ; рд╕реЗрд╡рд╛ рдмрд╕ рдирд╛рдо рд╕реНрдерд╛рди рдмрдирд╛рдпрд╛ред
ASP.NET MVC 4 рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2012 рдЦреЛрд▓реЗрдВред
New Project рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рд╡реЗрдм \ ASP.NET MVC 4 рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЯреЗрдореНрдкрд▓реЗрдЯ (рдЪрд┐рддреНрд░ 1) рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо
MVC4Gallery рд╣реИ ред
рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░
рдПрдХ рдпреВрдирд┐рдЯ рдЯреЗрд╕реНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЕрдирдЪреЗрдХ рдХрд░реЗрдВ
ред рдУрдХреЗ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
ред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред
![clip_image001 [6] clip_image001[6]](http://hpcru.files.wordpress.com/2012/08/clip_image0016.png)
рдЕрдВрдЬреАрд░ред 1. рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2012 рдореЗрдВ рд╡реЗрдм рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреА рд╕реВрдЪреА
рдореЙрдбрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
ред Add => Class рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
ред рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдореЗрдВ,
рдЫрд╡рд┐ рджрд░реНрдЬ рдХрд░реЗрдВ
ред рд╕реАрдПрд╕ рдФрд░
рдУрдХреЗ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рдЫрд╡рд┐ рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрджрд▓реЗрдВ
ред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдкрд░
рд╕реАрдПрд╕ ред
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace MVC4Gallery.Models { public class Image { public string Title{ get; set; } public string Link{ get; set; } }}
рдлрд╝рд╛рдЗрд▓
рджреГрд╢реНрдп \ Home \ Index рдХреЛ рдЦреЛрд▓реЗрдВ
ред cshtml рдФрд░ рдЙрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рд╕реЗ рдмрджрд▓реЗрдВред
<header> <div class="content-wrapper"> <div class="float-left"> <p class="site-title"> - </div> </div> </header> <div id="body"> <section class="featured"> <div class="content-wrapper"> <form action="/Home/Upload" method="post" enctype="multipart/form-data"> <label for="title"> <label for="FileData"> </label> <input type="file" id="FileData" name="FileData" /><br /> <input type="submit" value="" /> </form> "": @foreach (var image in ViewData.Model) { @image.Title <br /> <img width="100" height="100" src="@image.Link" /><br /> } </div> </section> </div>
рдирд┐рдпрдВрддреНрд░рдХреЛрдВ \ HomeController рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ
ред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЗ рд╕рд╛рде рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ
cs рдФрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдЕрдЧрд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬреЛрдбрд╝реЗ рдЬрд╛рдПрдВрдЧреЗред
using System; using System.Collections.Generic; using System.Collections.Specialized; using System.Web; using System.Web.Mvc; using Microsoft.ServiceBus.Messaging; using Microsoft.WindowsAzure; using Microsoft.WindowsAzure.StorageClient; using MVC4Gallery.Models; namespace MvcApplication1.Controllers { public class HomeController : Controller { public ActionResult Index() { List<Image> images = getBlobs("ourgallery"); return View(images); } [HttpPost] [ActionName("Upload")] public ActionResult Upload(string author, string title) { this.SendBlobToStorage(author); return RedirectToAction("Index"); } public void SendBlobToStorage(string author) { try { HttpPostedFileBase file = Request.Files[0]; CloudBlob blob = getBlobContainer("ourgallery").GetBlobReference(file.FileName); NameValueCollection metadata = new NameValueCollection(); metadata["title"] = file.FileName; blob.UploadFromStream(file.InputStream); BrokeredMessage msg = new BrokeredMessage(blob.Uri.AbsoluteUri); SendBrokeredMessageToServiceBusQueue(msg); } catch (StorageClientException e) { Console.WriteLine(" : " + e.Message); System.Environment.Exit(1); }} public List<Image> getBlobs(string author){ CloudBlobContainer container = getBlobContainer(author); List<Image> images = new List<Image>(); foreach (CloudBlob blob in container.ListBlobs()) { blob.FetchAttributes(); Image image = new Image(); image.Link = blob.Uri.AbsoluteUri; image.Title = blob.Metadata["title"]; images.Add(image); } return images; } public static CloudBlobContainer getBlobContainer(string userId) { var account = CloudStorageAccount.FromConfigurationSetting("storageaccount"); CloudBlobContainer container = account.CreateCloudBlobClient().GetContainerReference(userId); container.CreateIfNotExist(); var permissions = container.GetPermissions(); permissions.PublicAccess = BlobContainerPublicAccessType.Container; container.SetPermissions(permissions); return container; } public static void SendBrokeredMessageToServiceBusQueue(BrokeredMessage msg) { QueueDescription qd = new QueueDescription("servicebustest"); qd.MaxSizeInMegabytes = 5120; qd.DefaultMessageTimeToLive = new TimeSpan(0, 1, 0); string connectionString = CloudConfigurationManager.GetSetting("Microsoft.ServiceBus.ConnectionString"); QueueClient Client = QueueClient.CreateFromConnectionString(connectionString, "servicebustest"); Client.Send(msg); }}}
рд╕рдВрджрд░реНрдн рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
ред рд╕рдВрджрд░реНрдн рдЬреЛрдбрд╝реЗрдВ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдореЗрдВ (рдЪрд┐рддреНрд░ 3), рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ:
Microsoft.WindowsAzure.StorageClient 1.7.0.0Microsoft.WindowsAzure.Configuration 1.7.0.0Microsoft.WindowsAzure.ServiceRuntime 1.7.0.0Microsoft.ServiceBus 1.7.0.0System.Runtime.Serialization 4.0.0.0![clip_image003 [4] clip_image003[4]](http://hpcru.files.wordpress.com/2012/08/clip_image0034_thumb.jpg)
рдЕрдВрдЬреАрд░ред 3. рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХрд╛ рд╡рд┐рдХрд▓реНрдкред
рдЧреНрд▓реЛрдмрд▓ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ
ред asax рдФрд░
рдЕрдиреБрдкреНрд░рдпреЛрдЧ _ рдкреНрд░рд╛рд░рдВрдн () рд╡рд┐рдзрд┐ рдХреЗ рдиреАрдЪреЗ рдХреЛрдб рдЬреЛрдбрд╝реЗрдВред
CloudStorageAccount.SetConfigurationSettingPublisher((configName, configSettingPublisher) => { var connectionString = RoleEnvironment.GetConfigurationSettingValue(configName); configSettingPublisher(connectionString); });
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рд░рд╛рдЗрдЯ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
ред Add Windows Azure Cloud Service Project (рдЪрд┐рддреНрд░ 4) рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
![clip_image005 [4] clip_image005[4]](http://hpcru.files.wordpress.com/2012/08/clip_image0054_thumb.jpg)
рдЕрдВрдЬреАрд░ред 4. рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд▓рд╛рдЙрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЬреЛрдбрд╝рдирд╛
MVC 4 рдЧреИрд▓рд░реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ
рд░реЛрд▓реНрд╕ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
ред Azureред рдЬреЛрдбрд╝реЗрдВ рдЪреБрдиреЗрдВред
рдиреНрдпреВ рд╡рд░реНрдХрд░ рд░реЛрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ (рдЪрд┐рддреНрд░ 5) рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
![clip_image006 [4] clip_image006[4]](http://hpcru.files.wordpress.com/2012/08/clip_image0064_thumb.png)
рдЕрдВрдЬреАрд░ред 5. рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреА рднреВрдорд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЬреЛрдбрд╝рдирд╛
Windows Azure Tools 1.7 рдореЗрдВ , рдПрдХ рдирдпрд╛ рд╡рд░реНрдХрд░ рд░реЛрд▓ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ
рд╕рд░реНрд╡рд┐рд╕ рдмрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
ред рдирдИ рднреВрдорд┐рдХрд╛ рдЬреЛрдбрд╝реЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡рд┐рдВрдбреЛ рдореЗрдВ,
рд╕реЗрд╡рд╛ рдмрд╕ рдХрддрд╛рд░ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рднреВрдорд┐рдХрд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░
рдЬреЛрдбрд╝реЗрдВ (рдЪрд┐рддреНрд░ 6) рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
![clip_image008 [4] clip_image008[4]](https://habrastorage.org/getpro/habr/post_images/60f/7a1/e77/60f7a1e77f0857088da1fcb08b5800b0.jpg)
рдЕрдВрдЬреАрд░ред 6. рд╕реЗрд╡рд╛ рдмрд╕ рдХрддрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдПрдХ рд╢реНрд░рдорд┐рдХ рднреВрдорд┐рдХрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЬреЛрдбрд╝рдирд╛
WorkerRole.cs рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЗ рд╕рд╛рде рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрджрд▓реЗрдВред
using System; using System.Collections.Specialized; using System.Diagnostics; using System.Net; using System.Threading; using Microsoft.ServiceBus; using Microsoft.ServiceBus.Messaging; using Microsoft.WindowsAzure; using Microsoft.WindowsAzure.ServiceRuntime; using Microsoft.WindowsAzure.StorageClient; namespace WorkerRoleWithSBQueue1 { public class WorkerRole : RoleEntryPoint {
MVC4Gallery рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП
WebRole.cs рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЗ рд╕рд╛рде рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрджрд▓реЗрдВред
using System; using System.Collections.Generic; using System.Linq; using Microsoft.WindowsAzure; using Microsoft.WindowsAzure.Diagnostics; using Microsoft.WindowsAzure.ServiceRuntime; using Microsoft.WindowsAzure.StorageClient; namespace MVC4Gallery { public class WebRole : RoleEntryPoint { public override bool OnStart() { RoleEnvironment.Changing += RoleEnvironmentChanging; return base.OnStart(); } private void RoleEnvironmentChanging(object sender, RoleEnvironmentChangingEventArgs e) { if (e.Changes.Any(change => change is RoleEnvironmentConfigurationSettingChange)) { e.Cancel = true; }}}}
рд╡реЗрдм рднреВрдорд┐рдХрд╛ рдХреЛ рдкреНрд░рд╢рд╛рд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП GUI рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП
рд░реЛрд▓реНрд╕ рдХреНрд▓рд╛рдЙрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ
MVC 4 рдЧреИрд▓рд░реА рдкрд░ рд░рд╛рдЗрдЯ рдорд╛рдЙрд╕ рдмрдЯрди рдкрд░ рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ (рдЪрд┐рддреНрд░ 7)ред
![clip_image010 [4] clip_image010[4]](http://hpcru.files.wordpress.com/2012/08/clip_image0104_thumb.jpg)
рдЕрдВрдЬреАрд░ред 7. рд╡реЗрдм рднреВрдорд┐рдХрд╛ рдкреНрд░рдмрдВрдзрди рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЯреИрдм рдкрд░,
рдирд┐рджрд╛рди рдирд┐рджрд╛рди рд╕рдХреНрд╖рдо рдХрд░реЗрдВ рдХреЛ рдЕрдирдЪреЗрдХ
рдХрд░реЗрдВред рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ,
рд╕реЗрдЯрд┐рдВрдЧ рдЬреЛрдбрд╝реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдПрдХ рдирдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧ рдмрдирд╛рдПрдВ рдЬрд┐рд╕реЗ
storageaccount рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ, рдлрд┐рд░ рджреАрд░реНрдШрд╡реГрддреНрдд рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛
рднрд╛рдЧ 1 рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
ред рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
рд╕реЗрдЯрд┐рдВрдЧ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВ
Microsoft.ServiceBus.ConnectionString (рдкреНрд░рдХрд╛рд░
рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ) , рдлрд┐рд░ рдирд┐рдореНрди рдлрд╝реАрд▓реНрдб рдХреЛ
рдорд╛рди рдлрд╝реАрд▓реНрдб рдореЗрдВ рдбрд╛рд▓реЗрдВ:
рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ = sb: // [namepace] .servicebus.windows.net; SharedSecretIser = owner;
рдПрдВрдбрдкреЙрдЗрдВрдЯ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдирд╛рдо рд╕реНрдерд╛рди рдХрд╛ рдирд╛рдо
, SharedSecretIssuer рдХреЗ рд▓рд┐рдП
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЬрд╛рд░реАрдХрд░реНрддрд╛ рдФрд░
SharedSecretValue рдХреЗ рд▓рд┐рдП
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреБрдВрдЬреА рд╣реИред
рдУрдХреЗ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
ред рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреА рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рдиреЗ рдХреЗ рд▓рд┐рдП GUI рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП
рд░реЛрд▓реНрд╕ рдХреНрд▓рд╛рдЙрдб рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ
WorkRRoleWithSBQueue 1 рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЯреИрдм рдкрд░,
рдирд┐рджрд╛рди рдирд┐рджрд╛рди рд╕рдХреНрд╖рдо рдХрд░реЗрдВ рдХреЛ рдЕрдирдЪреЗрдХ
рдХрд░реЗрдВред рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ,
рд╕реЗрдЯрд┐рдВрдЧ рдЬреЛрдбрд╝реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдПрдХ рдирдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧ рдмрдирд╛рдПрдВ рдЬрд┐рд╕реЗ
storageaccount рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ, рдлрд┐рд░ рджреАрд░реНрдШрд╡реГрддреНрдд рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛
рднрд╛рдЧ 1 рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
ред рдареАрдХ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
ред Microsoft.ServiceBus.ConnectionString рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдорд╛рди рдЪрд┐рдкрдХрд╛рдПрдБ
ред рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛
рднрд╛рдЧ 1 рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ -
рдПрдВрдбрдкреЙрдЗрдВрдЯ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдирд╛рдо рд╕реНрдерд╛рди
, SharedSecretIssuer рдХреЗ рд▓рд┐рдП
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЬрд╛рд░реАрдХрд░реНрддрд╛ рдФрд░
SharedSecretValue рдХреЗ рд▓рд┐рдП
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреБрдВрдЬреА ред рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рднреВрдорд┐рдХрд╛ рдкреНрд░рдмрдВрдзрди рдЧреНрд░рд╛рдлрд╝рд┐рдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдВрдж рдХрд░реЗрдВред
F5 рджрдмрд╛рдХрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рдХрд░реЗрдВ
ред рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реНрдерд╛рдиреАрдп рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдПрдореБрд▓реЗрдЯрд░ рдореЗрдВ рд╢реБрд░реВ рд╣реЛрдЧреА рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ
рд╣реЛрдо / рдЗрдВрдбреЗрдХреНрд╕ рджреГрд╢реНрдп рдХреЗ рд╕рд╛рде рд▓реЙрдиреНрдЪ рдХрд░реЗрдЧреА
редрдПрдХ рдЫрд╡рд┐ рдЪреБрдиреЗрдВ рдФрд░
рд╕рд╣реЗрдЬреЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ
рдХрд░реЗрдВ ред рдЗрдореЗрдЬ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдкреЗрдЬ рд░рд┐рдлреНрд░реЗрд╢ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рд╕рдордп рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдЫрд╡рд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреА рд╣реИ - рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИред рдХреБрдЫ рд╕рдордп (рдмрд╕ рдХреБрдЫ рд╕реЗрдХрдВрдб) рдкреГрд╖реНрда рдХреЛ рд░реАрдлреНрд░реЗрд╢ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж - рдЗрд╕ рдмрд╛рд░ рдЫрд╡рд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдХрддрд╛рд░ рдХреЛ рдкреНрд░рджреВрд╖рд┐рдд рдХрд░рдиреЗ, рд╡реЗрдм рднреВрдорд┐рдХрд╛ рд╕реЗ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ, рдмреВрдБрдж рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ, рдЙрд╕рдХреА рдПрдХ рдкреНрд░рддрд┐ рдмрдирд╛рдиреЗ рдФрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдПрдХ рдирдпрд╛ рдмреВрдБрдж рдбрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
ASP.NET MVC 4 рдХреЛ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2012 рд╕реЗ рдХреНрд▓рд╛рдЙрдб рд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ рдПрдЬрд╝реНрдпреЛрд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдирд╛
Windows Azure рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ Visual Studio 2012 рдореЗрдВ рдкреНрд░рдХрд╛рд╢рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдПрдорд╡реАрд╕реА 4 рдЧреИрд▓рд░реА рдХреНрд▓рд╛рдЙрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
ред Azureред рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ
рдХрд░реЗрдВ ред рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдореЗрдВ,
рдЕрдкрдиреА рд╕рджрд╕реНрдпрддрд╛ рдЪреБрдиреЗрдВ рдХреЗ рддрд╣рдд рд╕реВрдЪреА рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВ рдФрд░
<рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ ...> (рдЫрд╡рд┐ 12) рдХрд╛ рдЪрдпрди
рдХрд░реЗрдВ ред
![clip_image012 [4] clip_image012[4]](http://hpcru.files.wordpress.com/2012/08/clip_image0124_thumb.jpg)
рдЕрдВрдЬреАрд░ред 12ред
рдкрд░рд┐рдгрд╛рдореА
Windows Azure Cloud Service рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреНрд░рдмрдВрдзрди рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдореЗрдВ,
рдирдпрд╛ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
ред рдирдП рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдареАрдХ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
рдкреВрд░реНрдг рдкрде рд▓рд┐рдВрдХ
рдХреЙрдкреА рдХрд░реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
ред рд╡рд┐рдВрдбреЛрдЬ рдПрдЬрд╝реНрдпреЛрд░ рдореИрдиреЗрдЬрдореЗрдВрдЯ рдкреЛрд░реНрдЯрд▓ рдкрд░ рдЬрд╛рдПрдВред
рд╣реЛрд╕реНрдЯ рдХреА рдЧрдИ рд╕реЗрд╡рд╛рдПрдБ, рд╕рдВрдЧреНрд░рд╣рдг рдЦрд╛рддреЗ рдФрд░ CDN рдЯреИрдм рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
ред ред
рдкреНрд░рдмрдВрдзрди рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЯреИрдм рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
ред ред
рдкреНрд░рдмрдВрдзрди рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЯреИрдм рдкрд░,
рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЬреЛрдбрд╝реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реЗ
рдирдП рдкреНрд░рдмрдВрдзрди рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЬреЛрдбрд╝реЗрдВ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдореЗрдВ,
рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдлрд╝реАрд▓реНрдб рдореЗрдВ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реЗ рдХреЙрдкреА рдХрд┐рдП рдЧрдП рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкрде рдХреЛ
рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ
рдХрд░реЗрдВ ред
Open рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
ред Ok рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
ред рд╣реЛрд╕реНрдЯреЗрдб рд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ рдФрд░
рдкреНрд░реЙрдкрд░реНрдЯреАрдЬ рдкреИрдирд▓ рд╕реЗ
рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди рдЖрдИрдбреА рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВред рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2012 рдкрд░ рдЬрд╛рдПрдВред рдХреЙрдкреА рдХрд┐рдП рдЧрдП рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдлрд╝реАрд▓реНрдб (рдЫрд╡рд┐ 13) рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВред
рдУрдХреЗ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
![clip_image014 [4] clip_image014[4]](http://hpcru.files.wordpress.com/2012/08/clip_image0144_thumb.jpg)
рдЕрдВрдЬреАрд░ред 13ред
рдмрдВрдж рдХрд░реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ
рдХрд░реЗрдВ ред
рдЕрдЧрд▓рд╛ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
ред Windows Azure рдкреНрд░рдХрд╛рд╢рд┐рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкреГрд╖реНрда рдкрд░
, рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╡рд┐рдХрд▓реНрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ
рдХрд░реЗрдВред рдЖрдк
Windows Azure рдЧрддрд┐рд╡рд┐рдзрд┐ рд▓реЙрдЧ рджреГрд╢реНрдп (рдЪрд┐рддреНрд░ 14) рдореЗрдВ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдкрд╛рд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
![clip_image016 [4] clip_image016[4]](https://habrastorage.org/getpro/habr/post_images/24a/b4f/79c/24ab4f79c37e9c3c3ab8d7235c4efcee.jpg)
рдЕрдВрдЬреАрд░ред 14. рд╡рд┐рдВрдбреЛрдЬ рдПрдЬрд╝реНрдпреЛрд░ рдЧрддрд┐рд╡рд┐рдзрд┐ рд▓реЙрдЧ рдХреА рдкреНрд░рд╕реНрддреБрддрд┐
рд╣реЛрд╕реНрдЯреЗрдб рд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдЯреИрдм рдкрд░ рд╡рд┐рдВрдбреЛрдЬ рдПрдЬрд╝реНрдпреЛрд░ рдореИрдиреЗрдЬрдореЗрдВрдЯ рдкреЛрд░реНрдЯрд▓ рдкрд░ рдЬрд╛рдПрдВ
ред рддреИрдирд╛рдд рдХрд┐рдП рдЧрдП рдЖрд╡реЗрджрди рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП
рдЧреБрдг рдкреИрдирд▓ рдореЗрдВ
DNS рдирд╛рдо рдлрд╝реАрд▓реНрдб рдХреЗ рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ (рдЪрд┐рддреНрд░ 15)ред

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