使用SignalR實時推送資料庫變化

2021-08-20 22:56:07 字數 1653 閱讀 8766

測試環境

.net 4.6

vs2017

mvc5

sqlserver2012

1.資料庫

create table [dbo].[carinfo](

[id] [int] identity(1,1) not null,

[carno] [varchar](50) not null,

[lng] [varchar](50) not null,

[lat] [varchar](50) not null,

[locdt] [datetime] not null,

constraint [pk_carinfo] primary key clustered 

([id] asc

)with (pad_index  = off, statistics_norecompute  = off, ignore_dup_key = off, allow_row_locks  = on, allow_page_locks  = on) on [primary]

) on [primary]

go資料庫要使用service broker

alter database dbname set new_broker with rollback immediate;

alter database dbname set enable_broker;

初始化資料庫

insert into carinfo (carno,lng,lat,locdt) values ('豫a12345','113.123','43.123',getdate())

2.新建mvc專案

安裝signalr包

install-package microsoft.aspnet.signalr

修改startup.cs}}

修改web.config,增加資料庫連線字串

增加資料模

public class carinfo

public string carno

public string lng

public string lat

public datetime locdt

}新建類

public class carinfohub : microsoft.aspnet.signalr.hub

}業務實現

public class carinforepository

", connection));}

}}}return null;

}private void dependency_onchange(object sender, sqlnotificationeventargs e)

}修改global.asax

新建api

public class defaultcontroller : apicontroller

}修改控制器

public actionresult index()

修改檢視

@現在測試一下

update carinfo set 

lng = cast(lng as float)+0.0001,

lat = cast(lat as float)+0.0001,

locdt = getdate();

SignalR 實時通知訊息並行推送和批量儲存實現

前言 signalr是基於.net平台web應用的實時訊息通訊框架,有人稱之為.net平台的.nodejs 可用於web頁面聊天,訊息推送等功能實現。本文摘取部分 利用.net平台的parallel功能實現通知訊息的並行推送和批量儲存。1.接收通知訊息的api介面 mvc 控制器 2.通知訊息的並行...

SignalR訊息推送

不久前我看到一篇用asp.netcore呼叫signalr做日誌推送的部落格,覺得蠻不錯,就按照作者的教程實際攢了一套webapi,感覺確實挺好的,又查了一些關於signalr的資料,做了一些完善,在這裡進行彙總。github鏈結 1.signal概要 signalr的實現機制與 net wcf或r...

訊息推送SignalR簡單例項

訊息推送signalr 乙個asp net 下的類庫,可以在asp net 的web專案中實現實時通訊。功能 當所連線的客戶端變得可用時伺服器 可以立即向其推送內容,而不是讓伺服器等待客戶端請求新的資料。可參考 前台關鍵之處 1首先獲取客戶端頁面的名字 2然後通過 connection.chat 建...