我正在尝试使用nodeJS,express和azure-mobile-apps创建API,以在Ionic3移动应用程序(使用SQLite本地数据库)和Microsoft SQL数据库之间进行一些数据同步。
我的API必须为每个移动应用程序创建一个同步连接。每个应用程序都将链接到一个远程数据库。例如,如果user_01要同步其数据,则将其链接到他的client_01数据库。因此,每次需要,API都会创建一个在不同端口上运行的新进程。
这里是一个例子:https://zupimages.net/up/19/36/szhu.png
问题是,我无法与azure-mobile-apps建立多个连接。第一个始终有效,但是第二个,第三个等仍使用我实例化的第一个连接。我查看了应用程序堆栈,一切似乎都很好。
是azure-mobile-app的问题,还是我对express产生了误解?
感谢您的回复!
var azureMobileApps = require('azure-mobile-apps');
var express = require('express');
module.exports = {
async createConnection(client) {
try {
let app = express();
mobileApp = azureMobileApps({
homePage: true,
swagger: true,
data: {
server: '****',
user: client.User,
password: client.Password,
port: '1443',
database: client.Database,
provider: 'mssql',
dynamicSchema: false,
options: {
encrypt: false
}
}
});
await mobileApp.tables.import('./tables');
await mobileApp.tables.initialize();
app.listen(global.portCounter);
app.use(mobileApp);
console.log(app._router.stack);
console.log('Listening on port ',global.portCounter);
global.portCounter++;
} catch (error) {
console.log(error);
}
}
}
现在正在工作。事实是,不可能与用于nodeJS的azure-mobile-apps SDK进行多次连接。
我不得不使用工作线程,这似乎在子进程中隔离了内存。
希望有一天能对某人有所帮助