>本教程演示了使用SignalR构建一个简单的聊天应用程序,该应用程序是ASP.NET开发人员的开源库。 SignalR提供了实时Web功能,类似于Node.js的socket.io。 虽然socket.io可能是Ember等JavaScript框架的首选,但Signalr提供了广泛的文档并利用ASP.NET生态系统的好处。 本教程假设熟悉ember.js。
密钥概念:
>
创建一个新的Ember应用程序:ember new chatr
(语义UI提供了一个响应式布局框架)。ember install semantic-ui-ember
>:Brocfile.js
app.import('bower_components/semantic-ui/dist/semantic.css'); app.import('bower_components/semantic-ui/dist/semantic.js');
ember g route chat ember g component chat-room ember g component chat-userlist ember g component chat-area ember g component chat-useritem ember g controller chat ember g model chat-room ember g model chat-user ember g model chat-message
chat-room
>
chat
app/templates/chat.hbs
使用SignalR(使用Visual Studio):{{#chat-room users=room.users messages=room.messages topic=room.topic onSendChat="sendChat"}}{{/chat-room}}
服务器端开发:
Install-Package Microsoft.AspNet.Signalr
创建OWIN启动类(App_Start/Startup.cs
public class Startup { public void Configuration(IAppBuilder app) { app.MapSignalR(); } }
bower install signalr --save
Brocfile.js
app.import('bower_components/semantic-ui/dist/semantic.css'); app.import('bower_components/semantic-ui/dist/semantic.js');
app/index.html
ember g route chat ember g component chat-room ember g component chat-userlist ember g component chat-area ember g component chat-useritem ember g controller chat ember g model chat-room ember g model chat-user ember g model chat-message
app/initializers/signalr.js
SignalRConnection
处理CORS:安装
Microsoft.Owin.Cors
Startup.cs
结论:
以上是使用Signalr构建聊天应用程序的详细内容。更多信息请关注PHP中文网其他相关文章!