發表文章

[Azure雲端服務及應用開發]_創建Message Model並於Hub加入收發機制_part3

圖片
https://laptopmemo.com/facebook-messenger-for-android-gets-the-material-design-treatment-finally-c3b7d14a951b 依樣畫葫蘆 在方案下創建一個.Net Standard的Class Library專案命名為Message 代表聊天室訊息資料的結構 新增一個Message的Model Class 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 using System ; using System.Collections.Generic ; using System.Text ; namespace KYChat.Messages { public class ChatMessage { public string Id { get ; set ; } public Type TypeInfo { get ; set ; } public DateTime TimeStamp { get ; set ; } public string Sender { get ; set ; } public ChatMessage () { } public ChatMessage ( string sender) { Id = Guid.NewGuid().ToString(); TypeInfo = GetType(); Sender = sender; TimeStamp = DateTime.Now; } } } 一組訊息最基本需要的配備 (1)一個可唯一識別的ID (在此使用GUID來產生唯一識別) 備註:GUID (Globally Unique Identifier) (2)一個時間戳 (3)發送端為誰? (4)訊息型...

[Azure雲端服務及應用開發]_創建跨各種應用都能調用使用的Class Library測試SignalR Hub連線_part2

圖片
在很久之前有分享如何創建自己的Class Library(dll) http://coolmandiary.blogspot.com/2016/12/cdlldll.html 因此這次就不再多贅述 在同樣一方案(solution)下新增Class Library 專案 選.net standard版 預設產生好的專案刪除掉 建立一個Services Folder 新增一個Interface 名稱IChatService 1 2 3 4 5 6 7 8 9 10 11 12 13 14 using System ; using System.Collections.Generic ; using System.Text ; using System.Threading.Tasks ; namespace KYChat.Core.Services { public interface IChatService { bool IsConnected { get ; } string ConnectionToken { get ; set ; } Task InitAsync ( string userId); } } 每組連線是否有連接成功 每組連線唯一識別的token 非同步初始化 再新增3個Class 一個Config 用來做組態設定 (for Endpoint切換) 1 2 3 4 5 6 7 8 9 10 11 12 using System ; using System.Collections.Generic ; using System.Text ; namespace KYChat.Core { public static class Config { public static string MainEndPoint = "http://localhost:7071" ; public static string NegotiateEndPoint = $ "{MainEndPoint}/api/negotiate...

[Azure雲端服務及應用開發]_SignalR Service創建_利用Azure Functions專案開發Signalr服務程式_part1

圖片
由於近期工作專案需要建立類似聊天室留言模組功能和一些推波通知的功能 需要把開發完後的程式佈署到一個穩定可用的託管站點 SignalR技術有點類似  KVM之類的網管切換設備概念 可以提供即時網頁服務 在長期比較下來 Azure SignalR Service是一個比較可穩定佈署for 長期使用的Solution Azure定價計算機(成本估算) Step1.選擇左側Create a resource 到輸入框中輸入Signalr過濾Enter查詢 按下Create 大致設置相關操作 Region設置離我們較近的Japan East Pricing tier 設置為 Free Service Mode 設置為Serverless 按下Review + Create 放著讓它跑一下 開啟你的Visual Studio Installer 確認Azure相關SDK有裝的 如果沒有安裝就補安裝 安裝好的我們就新增Azure Function專案 一開始找不到的朋友請到Cloud頁簽就能找到了 用 v2 版本 選擇 Http Trigger  選擇 Storage Emulator Access Right 改為 Anonymous (這樣任何Client材都能對其發出Request) 預設建好專案模樣 Azure Function程式區塊 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 using System.IO ; using Microsoft.AspNetCore.Mvc ; using Microsoft.Azure.WebJobs ; using Microsoft.Azure.WebJobs.Extensions.Http ; using Microsoft.AspNetCore.Http ; using Microsoft.Azure.WebJobs.Host ; using Newtonsoft.Json ; namespace KuanyuChat.Functions { public static class Function1 { [Functio...