126 lines
5.0 KiB
C#
126 lines
5.0 KiB
C#
using NLog;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Configuration;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Threading;
|
|
using System.Web;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
|
|
namespace DataUploader
|
|
{
|
|
public partial class ResyncLastDocs : System.Web.UI.Page
|
|
{
|
|
private static Logger logger = LogManager.GetCurrentClassLogger();
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
logger.Info(">>>------ Inizio ResyncLastDoc ------<<<");
|
|
DateTime tick = DateTime.Now;
|
|
int numDocCaricati = 0;
|
|
using (var client = new WebClient())
|
|
{
|
|
|
|
client.Proxy = null;
|
|
ServicePointManager.DefaultConnectionLimit = int.MaxValue;
|
|
// verifico se vado in modalità demo o meno...
|
|
bool demoMode = false;
|
|
int Num2Reload = 0;
|
|
try
|
|
{
|
|
Num2Reload = Convert.ToInt32(Request.QueryString["Num2Reload"]);
|
|
}
|
|
catch
|
|
{ }
|
|
if (Num2Reload == 0)
|
|
{
|
|
Num2Reload = Convert.ToInt32(ConfigurationManager.AppSettings["numDocDaRicaricare"]);
|
|
}
|
|
try
|
|
{
|
|
demoMode = Convert.ToBoolean(Request.QueryString["DemoMode"]);
|
|
}
|
|
catch
|
|
{ }
|
|
// recupero ultimo numero doc caricato...
|
|
int lastNum = 0;
|
|
// provo a leggerlo da richiesta...
|
|
if (Request.QueryString["lastNum"] != "")
|
|
{
|
|
try
|
|
{
|
|
lastNum = Convert.ToInt32(Request.QueryString["lastNum"]);
|
|
logger.Info("Imposto last num: {0}", lastNum);
|
|
}
|
|
catch
|
|
{ }
|
|
}
|
|
// se nON HO lastNum lo richiedo in remoto
|
|
if (lastNum == 0)
|
|
{
|
|
try
|
|
{
|
|
var content = client.DownloadString(ConfigurationManager.AppSettings["remoteDocUrl"]); // http://webscr.steamware.net/Rigamonti/Upload/Document
|
|
lastNum = Convert.ToInt32(content); // converto a int!
|
|
logger.Info("Recuperato last num: {0}", lastNum);
|
|
}
|
|
catch
|
|
{ }
|
|
}
|
|
// recupero i dati da caricare...
|
|
string[] urlsUpdate = GestData.proc.reloadLastDocs(lastNum, Num2Reload);
|
|
if (demoMode)
|
|
{
|
|
lblOut.Text = string.Format("DEMO MODE!<br/>ultimo NUMERO: {0}", lastNum);
|
|
for (int i = 0; i < urlsUpdate.Length; i++)
|
|
{
|
|
lblOut.Text += string.Format("<br/>{0:000}) {1}", i + 1, urlsUpdate[i]);
|
|
}
|
|
logger.Info("Effettuato DEMO upload FULL SYNC: durata {0} msec", DateTime.Now.Subtract(tick).TotalMilliseconds);
|
|
}
|
|
else
|
|
{
|
|
if (ConfigurationManager.AppSettings["debugMode"] == "true")
|
|
{
|
|
logger.Info("Inizio chiamate URL");
|
|
}
|
|
lblOut.Text = string.Format("Normal MODE!<br/>{0}", lastNum);
|
|
string content = "";
|
|
for (int i = 0; i < urlsUpdate.Length; i++)
|
|
{
|
|
try
|
|
{
|
|
if (ConfigurationManager.AppSettings["logFull"] == "true")
|
|
{
|
|
logger.Info("Chiamata [{0}]", i);
|
|
}
|
|
// se ho qualcosa da scaricare...
|
|
if (urlsUpdate[i] != "")
|
|
{
|
|
// versione SYNC
|
|
content = client.DownloadString(urlsUpdate[i]);
|
|
numDocCaricati++;
|
|
}
|
|
if (ConfigurationManager.AppSettings["logFull"] == "true")
|
|
{
|
|
logger.Info("Risposta [{0}] - {1}", content, urlsUpdate[i]);
|
|
}
|
|
}
|
|
catch
|
|
{ }
|
|
}
|
|
try
|
|
{
|
|
logger.Info(">>>------ Effettuato upload RESYNC: durata {0} msec, {1} chiamate! ------<<<", DateTime.Now.Subtract(tick).TotalMilliseconds, numDocCaricati);
|
|
}
|
|
catch
|
|
{
|
|
logger.Info(">>>------ Effettuato upload RESYNC: durata {0} sec, {1} chiamate! ------<<<", DateTime.Now.Subtract(tick).Seconds, numDocCaricati);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |