J'ai une application qui résidera dans un réseau business2business qui communiquera avec notre AS400 dans notre environnement réseau interne. Le pare-feu a été configuré pour permettre la demande de données à travers notre AS400, mais nous observons un énorme décalage dans la vitesse de connexion et le temps de réponse. Par exemple, ce qui prend moins d'une demi-seconde dans nos environnements de développement local prend plus de 120 secondes dans notre environnement B2B.AS400 Connexion de données dans ASP.NET
C'est la fonction que nous utilisons pour obtenir nos données. Nous utilisons les blocs d'application de la bibliothèque de l'entreprise, de sorte que l'objet ASI est la base de données ...
/// <summary>
/// Generic function to retrieve data table from AS400
/// </summary>
/// <param name="sql">SQL String</param>
/// <returns></returns>
private DataTable GetASIDataTable(string sql)
{
DataTable tbl = null;
HttpContext.Current.Trace.Warn("GetASIDataTable(" + sql + ") BEGIN");
using (var cmd = ASI.GetSqlStringCommand(sql))
{
using (var ds = ASI.ExecuteDataSet(cmd))
{
if (ds.Tables.Count > 0) tbl = ds.Tables[0];
}
}
HttpContext.Current.Trace.Warn("GetASIDataTable() END");
return tbl;
}
Je suis en train de réfléchir à certaines idées à considérer pour expliquer pourquoi cela se produit.
+1 Je voudrais vraiment savoir ce qui se passe. –