0

所以我一直在用头撞墙,试图弄清楚这一点。每当我尝试使用几种不同的方法从 SQL Server 检索数据时,StackOverflow 都会使我的服务器崩溃,但我无法查明问题的确切原因。

我已经能够用 Express 组合一个结构,当服务器启动时从我的数据库中检索数据,但是当我将路由附加到相同的方法时,我得到了“the”StackOverflow(我不确定是否有崩溃的单一原因,或者我正在处理两个单独的问题,这两个问题都表现为堆栈溢出)

我将把这个问题集中在一个堆栈溢出上,希望它负责所有的崩溃。

无论如何,这是能够将 .NET 类库中的数据编组回节点的服务器配置(这反过来又使 ADO.NET 调用我的 MSSQL 数据库):

var express = require('express');
var http = require('http');
var edge = require('edge');

var app = express();
app.set('port',process.env.PORT || 3000);
app.use(app.router);


var repository = {
   list: edge.func({assemblyFile:'bin\\Data.dll',typeName:'Data.GetListTask',methodName:'Invoke'})
});


app.get('/tickets', repository.list);


http.createServer(app).listen(app.get('port'),function(request,response){
   console.log('Express server listening on port ' + app.get('port'));
   console.log('[Before][repository.list]');
   repository.list({}, function(error, result) {
       console.log('[Result][repository.list]');
       if(result){
          result.forEach(function(item){
              console.log('[List contains]{' + item.Id + '|' + item.Description + '}');
          });
       }
       else{
         console.log('No items found');
       }
   });
});

每当服务器启动时,都会检索存储库的列表并将其假脱机到控制台;但是,如果我使用我的 /tickets 路由,服务器会因堆栈溢出而崩溃。

“好”的回应: 当数据被封送回节点时,控制台的图像

当我尝试激活我的路线时发生的崩溃(真正的路线被命名为'tickets') 当我尝试激活我的路线时的崩溃图像

我对 node 或 express 不是很有经验,所以我不完全确定我是否正确指定了 '/tickets' 路由。

4

1 回答 1

0

这是我的 Express 路线的一个愚蠢问题。

app.get('/tickets', function (request, response) {
    ticketRepository.getTickets({}, function (error, result){
        response.json(result);
    });
});

按预期从我的数据库返回结果。

protip:如果您尝试使用“stuff”进行响应,则实际上将“stuff”放在响应中会有所帮助。

于 2014-10-16T17:18:57.880 回答