2014-10-16 55 views
0

因此,我一直在抨擊我的頭靠在牆上試圖找出這一個。每當我嘗試使用多種不同方法從SQL Server檢索數據時,StackOverflow都會崩潰我的服務器,但我無法確定問題的確切原因。Edge + Express + SQL Server無法解釋的StackOverflow

我已經能夠將一個結構與Express從服務器站起來時從我的數據庫中檢索數據,但是當我將路由附加到相同的方法時,我得到「該」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'); 
     } 
    }); 
}); 

每當服務器啓動時,存儲庫的列表將被檢索並假脫機到控制檯;但是,如果我使用我的/門票路線,服務器崩潰堆棧溢出。

「好」迴應: An image of the console as data is being marshaled back to node

,當我嘗試激活我的路線崩潰(真正的路線被命名爲「門票」) An image of the crash when I try to activate my route

我不是很有經驗的節點或表達,所以我不完全確定我已經正確地指定了'/ tickets'路線。

回答

0

這是我的快速路線的一個愚蠢的問題。

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

從預期的數據庫中返回結果。

protip:如果您嘗試用「東西」做出迴應,實際上將「東西」放在回覆中會有幫助。