1.nuget 安装包Microsoft.AspNetCore.SignalR
2.后端
2.1新建类
using Microsoft.AspNetCore.SignalR;
using System.Threading.Tasks;
namespace SignalRChat.Hubs
{
public class ChatHub : Hub
{
public async Task SendMessage(string user, string message)
{
await Clients.All.SendAsync("ReceiveMessage", user, message);
}
}
}
2.2 Startup 的ConfigureServices 添加
services.AddSignalR();
2.3 Startup 的Configure 添加
app.UseSignalR(routes =>
{
routes.MapHub<ChatHub>("/chatHub");
});
3.前端
3.1新建index.html
<div class="container">
<div class="row"> </div>
<div class="row">
<div class="col-6"> </div>
<div class="col-6">
User..........<input type="text" id="userInput" />
<br />
Message...<input type="text" id="messageInput" />
<input type="button" id="sendButton" value="Send Message" />
</div>
</div>
<div class="row">
<div class="col-12">
<hr />
</div>
</div>
<div class="row">
<div class="col-6"> </div>
<div class="col-6">
<ul id="messagesList"></ul>
</div>
</div>
</div>
<script src="~/lib/signalr/signalr.js"></script>
<script src="~/js/chat.js"></script>
3.2 引入signalr.js
4. 浏览器打开2个窗口,试试效果