中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

一、SignalR入門

發布時間:2020-05-28 09:42:06 來源:網絡 閱讀:1310 作者:logyue 欄目:web開發

準備:

      開發工具:visual studio 2013

      使用框架:SignalR、Jquery

正文

  • 概述

    基于ASP.NET web 應用程序創建并引用SignalR 和JQuery框架簡單實現文字聊天


        開發任務

              A、創建一個空的ASP.NET web 項目

              B、引用SignalR 和Jquery框架

              C、創建一個集線器類,以將內容推送到客戶端。

            D、創建一個OWIN Startup類,配置啟動。

            E、在Web中使用SignalR jQuery實現消息的收發



    效果圖展示:

一、SignalR入門

一、SignalR入門


  • 開發步驟

    1、在 Visual Studio 中創建一個 ASP.NET Web 應用程序。

一、SignalR入門

2、解決方案資源管理器中,右鍵單擊項目,選擇添加|那么 SignalR 集線器類 (v2)。命名ChatHub.cs類并將其添加到該項目。此步驟將創建ChatHub類,并向項目中添加一組腳本文件和支持那么 SignalR 的程序集引用。

一、SignalR入門

3、將ChatHub類替換如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.AspNet.SignalR;

namespace SignalRChatDemo
{
    public class ChatHub : Hub
    {
        /// <summary>
        /// 發送消息
        /// </summary>
        /// <param name="name">姓名</param>
        /// <param name="message">消息內容</param>
        public void Send(string name, string message)
        {
            // 回調客戶端方法CallMessage通知客戶端
            Clients.All.CallMessage(name, message);
        }
    }
}

4、在解決方案資源管理器中,右鍵單擊該項目,然后單擊添加OWIN Startup啟動類Startup新類的名稱并單擊確定。

注:如果您使用的 Visual Studio 2012,OWIN Startup啟動類模板將不可用。您可以添加一個名為Startup相反的普通

5、更改為以下內容的新的啟動類。

using System;
using System.Threading.Tasks;
using Microsoft.Owin;
using Owin;

[assembly: OwinStartup(typeof(SignalRChatDemo.Startup))]

namespace SignalRChatDemo
{
    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            // 有關如何配置應用程序的詳細信息,請訪問 http://go.microsoft.com/fwlink/?LinkID=316888
            app.MapSignalR();
        }
    }
}

6、引用SignalR 和Jquery框架

在NuGet管理中輸入JqueryUI ,安裝JQuery UI庫,如下圖:

一、SignalR入門

安裝完成后可以看到我們需要的兩個框架庫了,如下圖:

一、SignalR入門

7、編寫Web頁面,實現聊天

<!DOCTYPE html>
<html>
<head>
    <title>SignalR Simple Chat</title>
    <style type="text/css">
        .container {
            background-color: #07325e;
            border: thick solid #808080;
            padding: 20px;
            margin: 20px;
        }
        body{
            color:white;
        }
    </style>
</head>
<body>
    <div class="container">
        <input type="text" id="message" />
        <input type="button" id="sendmessage" value="發送" />
        <input type="hidden" id="name" />
        <ul id="msgList"></ul>
    </div>
    <script src="Scripts/jquery-1.10.2.min.js"></script>
    <script src="Scripts/jquery.signalR-2.1.2.min.js"></script>
    <script src="signalr/hubs"></script>
    <script type="text/javascript">
        $(function () {
            // 定義一個代理并引用Hub。注意:JS需要使用駝峰式大小寫
            var chat = $.connection.chatHub;
            // 創建一個客戶端方法,C# ChatHub類中的方法需要和客戶端方法保持一致,C# ChatHub類才能調用到客戶端方法
            chat.client.CallMessage = function (name, message) {
                // 對HTML進行編碼.
                var encodedName = $('<div />').text(name).html();
                var encodedMsg = $('<div />').text(message).html();
                $('#msgList').append('<li><B>' + encodedName
                    + '</B>:&nbsp;&nbsp;' + encodedMsg + '</li>');
            };
            // 輸入需要在客戶端顯示的用戶名
            $('#name').val(prompt('親輸入的您的姓名:', ''));
            $('#message').focus();
            // 啟動一個連接
            $.connection.hub.start().done(function () {
                $('#sendmessage').click(function () {
                    // 回調服務的的send方法并傳入參數
                    chat.server.send($('#name').val(), $('#message').val());
                    $('#message').val('').focus();
                });
            });
        });
    </script>
</body>
</html>

×××

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

九江县| 历史| 邵阳市| 阳泉市| 木兰县| 东城区| 运城市| 六枝特区| 海宁市| 奇台县| 曲靖市| 大同县| 吉木萨尔县| 巴青县| 铁岭市| 新余市| 宜州市| 冕宁县| 陇南市| 乳源| 秀山| 曲沃县| 翼城县| 东丽区| 泰宁县| 卢龙县| 织金县| 曲水县| 从江县| 湖南省| 大姚县| 中方县| 双城市| 凭祥市| 平湖市| 威信县| 明光市| 隆林| 于田县| 芦溪县| 井研县|