使用azure-mobile-apps和NodeJS创建子连接

问题描述 投票:0回答:1

我正在尝试使用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);
    }
  }
}
node.js sql-server sqlite express azure-mobile-services
1个回答
0
投票

现在正在工作。事实是,不可能与用于nodeJS的azure-mobile-apps SDK进行多次连接。

我不得不使用工作线程,这似乎在子进程中隔离了内存。

希望有一天能对某人有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.