Die Web API wir Abfragen erstellt die OracleDB und gibt eine riesige Menge von Datensätzen und wir werden es konvertieren in das JSONUmgang mit großen Datenmenge -Web API
Unten ist der eigentliche Controller-Code
public HttpResponseMessage Getdetails([FromUri] string[] id)
{
string connStr = ConfigurationManager.ConnectionStrings["ProDataConnection"].ConnectionString;
using (OracleConnection dbconn = new OracleConnection(connStr))
{
var inconditions = id.Distinct().ToArray();
var srtcon = string.Join(",", inconditions);
DataSet userDataset = new DataSet();
var strQuery = @"SELECT * from STCD_PRIO_CATEGORY where STPR_STUDY.STD_REF IN(" + srtcon + ")";
using (OracleCommand selectCommand = new OracleCommand(strQuery, dbconn))
{
using (OracleDataAdapter adapter = new OracleDataAdapter(selectCommand))
{
DataTable selectResults = new DataTable();
adapter.Fill(selectResults);
var returnObject = new { data = selectResults };
var response = Request.CreateResponse(HttpStatusCode.OK, returnObject, MediaTypeHeaderValue.Parse("application/json"));
ContentDispositionHeaderValue contentDisposition = null;
if (ContentDispositionHeaderValue.TryParse("inline; filename=ProvantisStudyData.json", out contentDisposition))
{
response.Content.Headers.ContentDisposition = contentDisposition;
}
return response;
Das Problem ist, wenn wir eine große Anzahl von Zeilen wie 300.000 haben, es wirft keine Speicherausnahme. Ich habe in anderen Foren gelesen, dass dieses Problem durch Paginierung gelöst werden kann. Aber ich suche nach ganzen Datensätzen auf einmal, da die Client-Anwendung beim Aufruf der Web-API das gesamte Ergebnis benötigt. Ich bin mir nicht sicher, wie ich damit umgehen würde. jede Hilfe wird sehr geschätzt.
Wie hoch ist Ihre RAM-Kapazität? – MRebati
Diese Anwendung läuft auf einem Windows-Server 2012 – user4912134
Windows-Server 2012 ist ein Betriebssystem. RAM ist ein Arbeitsspeicher. Dies sind 2 verschiedene Dinge. Die Anwendung gibt Ihnen Speicherausnahme. Ich möchte wissen, wie viel ist Ihre Speicherkapazität? – MRebati