继上篇文章 AspNetCore Web API专案使用SignalR之用法,这次要在Vue专案里使用SignalR来做后续的动作
首先在Vue3专案里下命令安装:
npm install @microsoft/signalr
引用@microsoft/signalr
import * as signalR from '@microsoft/signalr'
接著写function如下:
/**
* 从SignalR通道接收讯息
*/
receiveFromSignalR() {
let connection = new signalR.HubConnectionBuilder()
.withUrl(`${window._config.webApi_URL}/windowsServiceHub`)
.build()
try {
connection.start()
console.log('signalR connected')
connection.on('SendWindowsServiceStatus', (message) => {
console.log('SendWindowsServiceStatus', message)
if (message === true || message === 'true') {
this.windowsServiceStatus = true
} else {
console.log(`windowsServiceStatus close`)
this.windowsServiceStatus = false
}
})
} catch (error) {
console.log('signalR error', error)
}
}
然后等来自windows service或windows console专案等等的触发即可达到双向沟通,参阅 AspNetCore Web API专案使用SignalR之用法