рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рдЙрдб, рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдФрд░ рд╕реНрдХреЗрд▓реЗрдмрд▓ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ



рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдкрд░рд┐рдЪрдп


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рд╕рд┐рдЧреНрдирд▓ рд░рд╛рдЙрдЯрд░ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдФрд░ Channel9.msdn.com/Shows/Web+Camps+TV/Damian-Edwards-and-David рдкрд░ рджреЗрдЦреА рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрд╡рд┐рдб рдлрд╛рдЙрд▓рд░ рдФрд░ рдбреЗрдорд┐рдпрди рдПрдбрд╡рд░реНрдбреНрд╕ рдХреЛ рдзрдиреНрдпрд╡рд╛рдж рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ ред -Fowler-рдкреНрд░рджрд░реНрд╢рди-SignalR

рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреА рдирдИ рддрдХрдиреАрдХ рд╣реИ рдЬреЛ рдирд┐рдХрдЯ-рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп, рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд░рд╣рдиреЗ рд╡рд╛рд▓реЗ, рд▓рдЧрд╛рддрд╛рд░ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ, рд╕реНрдХреЗрд▓реЗрдмрд▓ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддреА рд╣реИред рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдврд╛рдВрдЪрд╛ GitHub github.com/SignalR/SignalR рдФрд░ NuGet nuget.org/packages/signalr рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИред рд╣рд╛рд▓ рдХреЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдХрдИ рддрдХрдиреАрдХреА рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдиреЗ рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдЧ рдкреНрд░рд╢рд╕реНрдд рдХрд┐рдпрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕рдХреЗ рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ, рдбреЗрд╡рд┐рдб рдлрд╛рдЙрд▓рд░ рдФрд░ рдбреЗрдорд┐рдпрди рдПрдбрд╡рд░реНрдбреНрд╕ рдХреЗ рд╕рд╛рде рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдЖрдкрдХреЛ рдмрддрд╛рдПрдВрдЧреЗ рдХрд┐ рдХреБрдЫ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдмрдирд╛рдирд╛ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реЛрдЧрд╛ред

Windows Azure рдкрд░ рддреИрдирд╛рдд рдПрдХ рдирдореВрдирд╛ рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЖрдЬрд╝рдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП:


1. рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдпрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рд╕рд┐рдЧреНрдирд▓рд┐рдирдХреНрд▓рд╛рдЙрдб.рдХреНрд▓рд╛рдЙрдб.рдиреЗрдЯ /Moveshape.htm рд▓рд┐рдВрдХ рдЦреЛрд▓реЗрдВред
2. рдорд╛рдЙрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдПрдХ рдпрд╛ рджреВрд╕рд░реА рдЦрд┐рдбрд╝рдХреА рдореЗрдВ рд╡рд░реНрдЧ рдХреЛ рдШреБрдорд╛рдПрдВред рджреВрд╕рд░реА рд╡рд┐рдВрдбреЛ рдореЗрдВ, рд╡рд░реНрдЧ рднреА рдмрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред

Microsoft .NET рдлреНрд░реЗрдорд╡рд░реНрдХ 4 рдореЗрдВ рдЯрд╛рд╕реНрдХ рд╕рдорд╛рдирд╛рдВрддрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрдирд╛ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рдерд╛ред рдФрд░ jQuery рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд╛рд╕ рдЖрдкрдХреЛ рдПрдХ рдмрд╛рд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ рдФрд░ рдпрд╣ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕, рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░, рд╕рдлрд╛рд░реА, рдУрдкреЗрд░рд╛ рдФрд░ рдХреНрд░реЛрдо рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреЗ рдЕрднрд┐рд╕рд░рдг рдиреЗ рд╕рд┐рдЧреНрдирд▓рдЖрд░рдЖрд░ рдмрдирд╛рдиреЗ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рддрдХрдиреАрдХреА рд╡реНрдпрд╡рд╣рд╛рд░реНрдпрддрд╛ рдХреЗ рджреНрд╡рд╛рд░ рдХреЛ рдЦреЛрд▓ рджрд┐рдпрд╛ рд╣реИред

рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдХреНрд▓рд╛рдЙрдб рдкрд░ рддреИрдирд╛рдд рдХрд░реЗрдВ


рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рд╣реА рд╕рд░реНрд╡рд░ рдкрд░ рд╕реИрдХрдбрд╝реЛрдВ рд╣рдЬрд╛рд░реЛрдВ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд┐рдЧреНрдирд▓ рд╕рд┐рдЧреНрдирд▓ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде, рдПрдХ рд╕рдордп рдЖ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╡рд┐рдВрдбреЛрдЬ рдПрдЬрд╝реНрдпреЛрд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХрд╛ рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реИ рдЬреЛ рддреИрдирд╛рддреА рдФрд░ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдореЗрдЬрдмрд╛рдиреА рдХреЛ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрд▓реЗрдЦ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдмрдирд╛рдирд╛ рдФрд░ рддреИрдирд╛рдд рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реИред рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рднреА рдПрд╕рдбреАрдХреЗ рдФрд░ рдЙрдкрдХрд░рдг рд╣реИрдВ рдЬреЛ рд╡рд┐рдВрдбреЛрдЬ рдПрдЬрд╝реНрдпреЛрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦреЛрдВ рдореЗрдВ рдХреА рдЧрдИ рд╣реИ ред
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЪрд┐рддреНрд░ рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЬреЛ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдПрдХ рд╡рд░реНрдЧ рдХреЛ рдЕрдиреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЖрдХреГрддрд┐ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЕрдиреНрдп рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рднреА рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдЖрдХрд╛рд░ рдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ # 1 рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░ # 2 рдореЗрдВ рдЪрд▓рд╛ рдЬрд╛рдПрдЧрд╛ред


рдПрдХ рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдФрд░ рдЗрд╕реЗ рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд░рдг

1. рдХреНрд▓рд╛рдЙрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2010 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
2. рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ Asp.Net рд╡реЗрдм рд░реЛрд▓ рднреВрдорд┐рдХрд╛ рдЬреЛрдбрд╝реЗрдВред рдпрд╣ рд╣рдорд╛рд░реЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдХрдВрдЯреЗрдирд░ рд╣реЛрдЧрд╛ред
3. NuGet рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдФрд░ рд▓рд┐рдВрдХ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдЖрдкрдХреЛ NuGet рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ jQuery рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
4. рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдХреЛрдб рд▓рд┐рдЦреЗрдВ: рд╕рд┐рдЧреНрдирд▓рдЖрд░ рд╣рдм рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рдПрдХ рдХреНрд▓рд╛рд╕ рдмрдирд╛рдПрдВ рдФрд░ рдЬрд┐рд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╡рд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░ # 1 рдФрд░ рдЖрдЧреЗ рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ # 2 рдХреЗ рд▓рд┐рдП рд╕реБрдиреЗрдВрдЧреЗ
5. рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛрдб рд▓рд┐рдЦреЗрдВ, рдЬреЛ рдПрдХ рд╡реЗрдм рдкреЗрдЬ рдФрд░ рдХреБрдЫ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рд╣реИред
6. рд╡рд┐рдВрдбреЛрдЬ рдПрдЬрд╝реНрдпреЛрд░ рдореИрдиреЗрдЬрдореЗрдВрдЯ рдкреЛрд░реНрдЯрд▓ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдПрдХ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╕реЗрд╡рд╛ рдФрд░ рднрдВрдбрд╛рд░рдг рдЦрд╛рддрд╛ рдмрдирд╛рдПрдВред
7. рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдкреИрдХ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдПрдЬрд╝реНрдпреЛрд░ рдкрд░ рддреИрдирд╛рдд рдХрд░реЗрдВред
8. рд╕рдВрдХреЗрдд рджреЗрдВ рдХрд┐ рдХрд┐рддрдиреЗ рдЪрд▓ рд░рд╣реЗ рд╕рд░реНрд╡рд░ рдЗрдВрд╕реНрдЯреЗрдВрд╕реЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рддреИрдирд╛рддреА рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
9. рд╣реЛ рдЧрдпрд╛!

рдпрд╣ рджреГрд╢реНрдп рд╕реНрдЯреВрдбрд┐рдпреЛ 2011 рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬрдм рд╣рдо рд╡рд┐рдХрд╛рд╕ рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдВрдЧреЗ


рддреАрди рдореБрдЦреНрдп рдлрд╛рдЗрд▓реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо Visual Studio рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдЬреЛрдбрд╝реЗрдВрдЧреЗ:
MoveShape.cs рд╕рд┐рдЧреНрдирд▓рдЖрд░ рд╕рд░реНрд╡рд░ рдХреЛрдб рд╣реИ рдЬреЛ jQuery рдХреЙрд▓ рдкреНрд░рд╕рд╛рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЗрдВрджреНрд░ рдпрд╛ рдХреЗрдВрджреНрд░реАрдп рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдХреЛрдб рдПрдХ рдмреНрд░рд╛рдЙрдЬрд░ рдкрд░ рд╕реБрдирддрд╛ рд╣реИ рдФрд░ рдЕрдиреНрдп рдмреНрд░рд╛рдЙрдЬрд░реНрд╕ рдХреЛ рдпреВрдЬрд░ рдПрдХреНрд╢рди рднреЗрдЬрддрд╛ рд╣реИред
MoveShape.js - рдЙрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ JavaSript рдХреЛрдб рдЬрд┐рд╕реЗ рд╕рд┐рдЧреНрдирд▓рдЖрд░ рд╕рд░реНрд╡рд░ рдмреИрдХрдПрдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
MoveShape.htm - рд╡рд╣ рд╡реЗрдм рдкреЗрдЬ рдЬрд┐рд╕ рдкрд░ рд╕рдм рдХреБрдЫ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдЙрд╕ рдкрд░ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдВрдХрдбрд╝рд╛ рдЦреАрдВрдЪрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЕрдиреНрдп рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЕрдиреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдХреИрд╕реЗ рдЪрд▓рддрд╛ рд╣реИред

рдПрдХ рдирдпрд╛ рдХреНрд▓рд╛рдЙрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛

1. рдПрдХ рдирдпрд╛ рдХреНрд▓рд╛рдЙрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ред
рдПрдХред рдПрдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ рдФрд░ рдлрд╝рд╛рдЗрд▓ , рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ ред

рдЦред рдмрд╛рдПрдВ рднрд╛рдЧ рдореЗрдВ, рдХреНрд▓рд╛рдЙрдб рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдФрд░ рд╕реНрдерд╛рди рджрд░реНрдЬ рдХрд░реЗрдВред

2. ASP.NET рд╡реЗрдм рд░реЛрд▓ рдкрд░ рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ


3. CloudSignalRSample_WebRole рдореЗрдВ рд╡реЗрдм рднреВрдорд┐рдХрд╛ рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдХреЛрдб рдХреЛ рдЕрдзрд┐рдХ рд╕рдВрдЧрдард┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред


NuGet рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд┐рдЧреНрдирд▓рдЖрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

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

1. рдпрджрд┐ NuGet рдкрд╣рд▓реЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдпрд╣ рдЕрд╡рд╢реНрдп рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЯреВрд▓ рдореЗрдиреВ рд╕реЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореИрдиреЗрдЬрд░ рдЪреБрдиреЗрдВ


2. NuGetPackage Manager рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ


3. рдиреБрдЧреЗрдЯ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ


4. рджреЛ рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ: рд╕рд┐рдЧреНрдирд▓рдЖрд░.рдЬреЗрдПрд╕ рдФрд░ рд╕рд┐рдЧреНрдирд▓рдЖрд░.рд╣реЙрдЯрд┐рдВрдЧ.рдПрд╕реНрдкрдиреЗрдЯ (рд╕рдм рдХреБрдЫ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд░реАрд╕реЗрдЯ рд╣реЛ рдЬрд╛рдПрдВрдЧреА)




5. рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕рд┐рдЧреНрдирд▓ рд▓рд┐рдВрдХ рдкреИрдХреЗрдЬ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рджрд░реНрд╢рд╛рдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рднрд┐рдиреНрди рд▓рд┐рдВрдХ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рд╣реИрдВ


рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛрдб рдЬреЛрдбрд╝рдирд╛

рдпрд╣ рдЙрди 3 рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ, рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдордиреЗ рдкрд╣рд▓реЗ рдЪрд░реНрдЪрд╛ рдХреА рдереА: 1) рдореВрд╡ рд╢реИрдкред (2) MoveShape.js; (3) MoveShape.htmред
1. рд╡реЗрдм рд░реЛрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ Add , New Item рдЪреБрдиреЗрдВ


2. рдХрдХреНрд╖рд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ MoveShapre.cs рдирд╛рдо рджреЗрдВ ред


3. рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ: MoveShape.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; // Add reference using SignalR.Hubs; namespace CloudSignalRSample_WebRole { // Derive from Hub, which is a server-side class // and a client side proxy. [HubName("moveShape")] // moveShape is the name used in the Javascript public class MoveShapeHub : Hub { public void MoveShape(int x, int y) { // Broadcast drag event to other browsers Clients.shapeMoved(Context.ConnectionId, x, y); // Simple diagnostics for debugging System.Diagnostics.Debug.WriteLine("x = " + x + ", y = " + y); } } } 

4. рдЕрдм, NuGet рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ jQuery рдХреЛрдб рдЬреЛрдбрд╝реЗрдВред рд╕рдВрджрд░реНрдн рдкрд░ рд░рд╛рдЗрдЯ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ NuGet рдкреИрдХреЗрдЬ рдЪреБрдиреЗрдВ


5. jQuery UI (рд╕рдВрдпреБрдХреНрдд рдкреБрд╕реНрддрдХрд╛рд▓рдп) рдирд╛рдо рдХреЗ NuGet рдкреИрдХреЗрдЬ рдХреЛ рдЪреБрдиреЗрдВ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ


6. рдЧрдпреА рд▓рд┐рдкрд┐рдпреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ


7. рд╡реЗрдм рд░реЛрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ Add , New Item рдЪреБрдиреЗрдВ


8. рд╡реЗрдм рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдЗрд╕реЗ MoveShape.js рдирд╛рдо рджреЗрдВ

9. рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ:
 /// <reference path="Scripts/jquery-1.6.4.js" /> /// <reference path="Scripts/jquery.signalR.js" /> /// <reference path="Scripts/jquery-ui-1.8.18.js" /> $(function () { // Get a refeerence to the server-side moveShape() class. var hub = $.connection.moveShape, // Get a reference to the shape div in the html $shape = $("#shape"); // Use extend to move the shape object (if we are not the sender) $.extend(hub, { // Use css to move the shape object shapeMoved: function (cid, x, y) { if ($.connection.hub.id !== cid) { $shape.css({ left: x, top: y }); $("p:last").text("left: " + x + ", top: " + y); } } }); // Wire up the draggable behavior (when hub is done starting) // "done" is a jquery deferred method $.connection.hub.start().done(function () { $shape.draggable({ // Implement draggable effect for jquery drag: function () { // Tell the server that the shape was just dragged hub.moveShape(this.offsetLeft, this.offsetTop); } }); }) }); 

10. рд╡реЗрдм рд░реЛрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ Add , New Item рдЪреБрдиреЗрдВ


11. рд╡реЗрдм рдФрд░ HTML рдкреЗрдЬ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдЗрд╕реЗ MoveShape.htm рдирд╛рдо рджреЗрдВ


12. рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ:
 <!DOCTYPE html > <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <style type="text/css"> #shape { width: 200px; height: 200px; background: #ccc; border: 2px solid #333; } p { margin-left:10px; } </style> </head> <body> <div id="shape"></div> <script src="../Scripts/jquery-1.6.4.js" type="text/javascript"></script> <script src="../Scripts/jquery-ui-1.8.18.js" type="text/javascript"></script> <script src="../Scripts/jquery.signalR.js" type="text/javascript"></script> <script src="/signalr/hubs" type="text/javascript"></script> <script src="MoveShape.js" type="text/javascript"></script> <div> <p>Hello</p></div><p></p> </body> </html> 


рдЖрд╡реЗрджрди рдкрд░реАрдХреНрд╖рдг

Windows Azure рдПрдореБрд▓реЗрдЯрд░ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЪрд▓рд╛рдПрдБред MoveShape.hrm рдкреНрд░рд╛рд░рдВрдн рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреГрд╖реНрда рдХреЛ рд╕реЗрдЯ рдХрд░рдирд╛ рдпрд╛рдж рд░рдЦреЗрдВред
1. рдбрд┐рдмрдЧ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ , рдореЗрдиреВ рд╕реЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ ред Windows Azure рдХрдВрдкреНрдпреВрдЯ рдЗрдореНрдпреВрд▓реЗрдЯрд░ рдФрд░ Windows Azure рд╕реНрдЯреЛрд░реЗрдЬ рдПрдореБрд▓реЗрдЯрд░ рд▓реЙрдиреНрдЪ рд╣реЛрддрд╛ рд╣реИ рдФрд░ MoveShape.hrm рд╕реНрдЯрд╛рд░реНрдЯ рдкреЗрдЬ рдЦреБрд▓рддрд╛ рд╣реИ


2. IE рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдореЗрдВ рд▓рд┐рдВрдХ 127.0.0.1 : 81 / MoveShape.htm рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ
3. рджреЛ рд╡рд┐рдВрдбреЛ рдХреЛ рд╕рд╛рдЗрдб рдореЗрдВ рд░рдЦреЗрдВ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХрд┐рд╕реА рднреА рдмреНрд░рд╛рдЙрдЬрд░ рдореЗрдВ рдлрд┐рдЧрд░ рдХреЛ рд╣рд┐рд▓рд╛рдиреЗ рдкрд░ рд╡рд╣ рджреВрд╕рд░реЗ рдореЗрдВ рдЪрд▓рд╛ рдЬрд╛рдПрдЧрд╛ред


4. рд╡рд┐рдВрдбреЛрдЬ рдПрдЬрд╝реНрдпреЛрд░ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИред

рд╡рд┐рдВрдбреЛрдЬ рдПрдЬрд╝реНрдпреЛрд░ рдкрд░ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рддреИрдирд╛рдд рдХрд░рдирд╛

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


рдирд┐рд╖реНрдХрд░реНрд╖

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

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


All Articles