ASP.NET рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдХреЗ рд╕рд╛рде рд╕реВрдЪрдирд╛рдПрдВ рдкреБрд╢ рдХрд░реЗрдВ

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рд╕рд┐рдЧреНрдирд▓рдЖрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рднреА рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рддреНрд╡рд░рд┐рдд рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдЖрджрд┐рдо рдЪреИрдЯ рд▓рд┐рдЦреЗрдВрдЧреЗ


рдЯреНрд░реЗрдирд┐рдВрдЧ


рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Visual Studio рдореЗрдВ рдПрдХ рд░рд┐рдХреНрдд ASP.NET рдЦрд╛рд▓реА рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдБред

рдЦреБрдж рд╕рд┐рдЧреНрдирд▓рдЖрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдиреВрдЧреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╣реА рд▓рд╛рдЗрди рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ:

Install-Package SignalR
рдпрд╣ jQuery рдФрд░ рд╕рд┐рдЧреНрдирд▓рдЖрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЬреЛрдбрд╝реЗрдЧрд╛, рд╕рд╛рде рд╣реА рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдбреАрдПрд▓рдПрд╕ рдФрд░ рдЗрд╕рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЕрдиреНрдп рдбреАрдПрд▓рдПрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджрд░реНрдн рд▓рд┐рдВрдХ рднреАред

рд╕рд░реНрд╡рд░ рдХреЛрдб рд▓рд┐рдЦреЗрдВ



рдПрдХ рдордирдорд╛рдирд╛ рд╡рд░реНрдЧ рдЬреЛрдбрд╝реЗрдВ - рдореИрдВ рдЗрд╕реЗ рдЪреИрдЯ рдХрд╣реВрдВрдЧрд╛, рдЗрд╕реЗ рд╕рд┐рдЧреНрдирд▓ рдЖрд░.рд╣рдмреНрд╕ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣рдм рд╡рд░реНрдЧ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

 public class Chat : Hub { public void Send(dynamic message) { Clients.AddChatMessage(message); } } 


рд╣рдорд╛рд░реА рдХрдХреНрд╖рд╛ рдореЗрдВ, рдЖрдк рдХрд┐рд╕реА рднреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд┐рдзрд┐ рдХреЛ рдХрд┐рд╕реА рднреА рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдпреЗ рд╕рднреА рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рд╕рдВрдмрдВрдзрд┐рдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЙрдХреНрд╕реА рдХреНрд▓рд╛рд╕ рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред

рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдПрдХ рд╕рд╛рдзрд╛рд░рдг рднреЗрдЬреЗрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдкреИрд░рд╛рдореАрдЯрд░ рдЧрддрд┐рд╢реАрд▓ рд╣реЛрдЧрд╛ред

рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдореВрд▓ рд╡рд░реНрдЧ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рд╡рд╕реНрддреБ рд╣реИ - рдЗрд╕ рдкрд░ рдХрд┐рд╕реА рднреА рдордирдорд╛рдиреЗ рддрд░реАрдХреЗ рд╕реЗ рдХреЙрд▓ рдХрд░рдирд╛ - рдЗрд╕реЗ рд╕рднреА рдХрдиреЗрдХреНрдЯреЗрдб рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╕рдорд╛рди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд░рдирд╛ред

рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛрдб рд▓рд┐рдЦреЗрдВ



рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдорд╛рд░реНрдХрдЕрдк рдХреЗ рд╕рд╛рде HTML рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ рдЪреИрдЯред html рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЬреЛрдбрд╝реЗрдВ

 <input type="text" id="msg" /> <input type="button" id="broadcast" value="broadcast" /> <ul id="messages"> </ul> 


signalr.js рдХреЗ рдмрд╛рдж рдЬреЛрдбрд╝рд╛ рдЬрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП / рд╕рд┐рдЧреНрдирд▓ / рд╣рдм рдХреЗ рд╕рд╛рде рдЖрд╡рд╢реНрдпрдХ рдЬреЗрдПрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдВрдХ рдЬреЛрдбрд╝реЗрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

 <script src="http://code.jquery.com/jquery-1.7.min.js" type="text/javascript"></script> <script src="/Scripts/jquery.signalR.min.js" type="text/javascript"></script> <script src="/signalr/hubs" type="text/javascript"></script> 


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЧреНрд░рд╛рд╣рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реА:

 <script type="text/javascript"> $(function () { //    var chat = $.connection.chat; // ,    , //    chat.AddChatMessage = function (msg) { $("#messages").append("<li>" + msg.name + " : " + msg.text + "</li>"); }; //  -        $("#broadcast").click(function () { var msg = { 'name': $.browser.version, 'text': $('#msg').val() }; chat.send(msg); }); //   $.connection.hub.start(); }); </script> 


рдореИрдВрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк



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


рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЗ рдмрдЬрд╛рдп



рдЯрд╛рдЗрдк рдХрд░рдХреЗ рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
Install-Package SignalR.Sample

рд▓реЗрдЦ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд┐рдП рдЧрдП рд▓реЗрдЦ рдХреЗ рд╕реНрд░реЛрддреЛрдВ рдФрд░ рд╡реАрдбрд┐рдпреЛ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ - рдпрд╣рд╛рдВ

рдирдпрд╛ рд╕рд╛рд▓ рдореБрдмрд╛рд░рдХ рд╣реЛ 2012!

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


All Articles