>本教程演示了使用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
<code class="language-javascript">app.import('bower_components/semantic-ui/dist/semantic.css'); app.import('bower_components/semantic-ui/dist/semantic.js');</code>
<code class="language-bash">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</code>組件集成到
chat-room
>
chat
app/templates/chat.hbs
使用SignalR(使用Visual Studio):<code class="language-handlebars">{{#chat-room users=room.users messages=room.messages topic=room.topic onSendChat="sendChat"}}{{/chat-room}}</code>
服務器端開發:
Install-Package Microsoft.AspNet.Signalr
創建OWIN啟動類(App_Start/Startup.cs
<code class="language-csharp">public class Startup { public void Configuration(IAppBuilder app) { app.MapSignalR(); } }</code>創建大廳集線器(
bower install signalr --save
Brocfile.js
<code class="language-javascript">app.import('bower_components/semantic-ui/dist/semantic.css'); app.import('bower_components/semantic-ui/dist/semantic.js');</code>在
app/index.html
<code class="language-bash">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</code>
app/initializers/signalr.js
SignalRConnection
處理CORS:安裝
Microsoft.Owin.Cors
Startup.cs
結論:
以上是使用Signalr構建聊天應用程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!