所以我一直在用头撞墙,试图弄清楚这一点。每当我尝试使用几种不同的方法从 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' 路由。