zu laufen Ich habe ein paar Funktionen, die eine Benutzer-Antwort-Klasse bauen und ich bin immer noch die Aufgabe async erwarten.Wie mehrere Anrufe mit-in einer Funktion parallel
Aus dem unten stehenden Code gibt es eine Möglichkeit, all das parallel und nicht einzeln auszuführen?
Ich denke, meine erste Frage sollte sein, wie läuft der Anruf, wie er jetzt eingerichtet ist?
Meine zweite Frage ist, wie kann ich alle diese Anrufe parallel laufen?
Es ist nicht notwendig, dass die Rendite in einer bestimmten Reihenfolge zurückzukehren
public static async Task<ProjectForDrawings> GetProjectInfo(string cnn, int projectID)
{
return await Task.Run(() =>
{
ProjectForDrawings projectForDrawings = DataBase.proc_GetProject_ForDrawings.ToRecord<ProjectForDrawings>(cnn, projectID);
projectForDrawings.Submittals = DataBase.proc_GetSubmittal.ToList(cnn, projectID);
projectForDrawings.ProjectLeafs = DataBase.proc_GetProjectLeafs.ToList<ProjectLeaf>(cnn, projectID);
projectForDrawings.Revisions = DataBase.proc_GetRevisionsForProject.ToList<Revisions>(cnn, projectID);
return projectForDrawings;
});
}
vielen Dank. –
In diesem Artikel heißt es, dass 2005 und höher für SQL-Server gibt es einen Pool von Verbindungen und wenn ein Anrufer einen Aufruf an die Datenbank auf der gleichen Verbindung macht es greifen eine der verfügbaren Verbindungen und nutzen sie. Wenn es keine offene Verbindung gibt, wird dem Anrufer eine Reihe verfügbarer Verbindungen zur Auswahl angeboten. Das ist hier nur ein leises Gespräch, und ich verstehe das richtig? –
@ AlumCloud.Com: Es hängt davon ab, wie die 'DataBase' Methoden implementiert sind. Wenn sie alle eine unabhängige 'DbConnection' verwenden, sollte das funktionieren. Wenn alle dieselbe DbConnection-Instanz verwenden, wird eine Ausnahme angezeigt. –