最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

[C#]服務(wù)器實(shí)現(xiàn)函數(shù)熱更新

2023-06-13 19:28 作者:HarrickHeng  | 我要投稿

一、熱更新技術(shù)概述

熱更新在不停機(jī)的情況下,對(duì)問(wèn)題進(jìn)行緊急修復(fù),可以有效避免用戶(hù)流失,是一種快捷、低成本的更新方法,是應(yīng)用程序的用戶(hù)體驗(yàn)和競(jìng)爭(zhēng)力。這里的實(shí)現(xiàn)方式主要是通過(guò)動(dòng)態(tài)鏈接庫(kù)(DLL)的重載,具體實(shí)現(xiàn)則是通過(guò)修改XML配置指向新的DLL文件,網(wǎng)頁(yè)以傳指令參數(shù)執(zhí)行更新函數(shù)。

二、實(shí)現(xiàn)前提

項(xiàng)目需要模塊化設(shè)計(jì),將每個(gè)模塊都打包成獨(dú)立的DLL文件,從而實(shí)現(xiàn)對(duì)特定模塊的熱更新。那本人dot-net服務(wù)器項(xiàng)目舉例,會(huì)將業(yè)務(wù)邏輯抽離出來(lái),單獨(dú)開(kāi)一個(gè)HHServer.HotFix項(xiàng)目。項(xiàng)目下分別有Logic文件夾(處理業(yè)務(wù)邏輯)、Managers文件夾(接口工具等管理類(lèi))、ProtoHandler文件夾(網(wǎng)絡(luò)協(xié)議Handler)等其他Handler分類(lèi)文件夾。涉及需要熱更新的業(yè)務(wù)邏輯都應(yīng)該在此項(xiàng)目里處理。

三、腳本介紹

HandlerAttribute.cs

用于熱更類(lèi)的頭標(biāo)記,詳細(xì)可參考C# 特性(Attribute):

熱更類(lèi)需要繼承自己方法名集合的接口,以上個(gè)熱更類(lèi)舉例:


HotFixConfig.cs

熱更配置通過(guò)項(xiàng)目編譯后的Configs文件夾下的HotFixConfig.xml作配置文件。


HotFixHelper.cs

其中Activator.CreateInstance為方法的核心,我們通過(guò)這個(gè)方法將Handler實(shí)例化,并調(diào)用接口約定的方法進(jìn)行使用。需要在其他項(xiàng)目模塊初始化時(shí)調(diào)用HotFixMgr.Load()方法。


四、熱更流程

  1. 只能熱更HotFix項(xiàng)目中添加了標(biāo)記的函數(shù),修改代碼后對(duì)項(xiàng)目進(jìn)行編譯,生成新的HHServer.HotFix.dll文件。

  2. 重命名HHServer.HotFix.dll文件,例如HHServer.HotFix01.dll,又或者生成自行在后綴添加時(shí)間戳。

  3. 修改Configs文件夾下的HotFixConfig.xml文件,將Value="HHServer.HotFix.dll"改為新的dll文件。

  4. 熱重載調(diào)用HotFixMgr.Load()方法。這里調(diào)用的方式是通過(guò)網(wǎng)頁(yè)參數(shù)傳入:

    ??

又或者在控制臺(tái)輸入操作:


[C#]服務(wù)器實(shí)現(xiàn)函數(shù)熱更新的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
莫力| 武穴市| 崇信县| 宁德市| 华坪县| 合阳县| 阿勒泰市| 泉州市| 衢州市| 临安市| 临江市| 永福县| 盈江县| 重庆市| 陆河县| 方城县| 敦化市| 秭归县| 磐安县| 汕头市| 乐亭县| 本溪| 新竹县| 肥乡县| 萝北县| 永州市| 象山县| 榆林市| 晋江市| 五莲县| 桃园县| 平谷区| 台中县| 阿巴嘎旗| 秀山| 札达县| 邳州市| 济源市| 天峻县| 邻水| 道真|