Oggi su uno dei forum di AspItalia.com un utente chiedeva se fosse stato possibile impedire lo scaricamento forzato del dominio applicazione di un sito AspNet. A prescindere dal fatto che il processo di scaricamento è necessario al buon funzionamento dell’applicativo, l’utente richiedeva un tool/script che visitasse una pagina del suo applicativo ogni n secondi, di modo che l’applicativo richiamato costantemente non fosse scaricato dalla memoria del server. Nonostante non condivida la motivazione, il quesito ha stuzzicato la mia curiosità, è ho elaborato questa soluzione:
Un servizio web che una volta invocato il suo webmethod predefinito effettua una webrequest all’applicativo target ogni n minuti:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
System.Threading.Timer _timer;
System.Threading.TimerCallback _callback;
public Service () {
}
[WebMethod]
public void AvviaBot() {
_callback = new System.Threading.TimerCallback(Visita);
int millisecond = (1000 * 60 * [numero di minuti]);
_timer = new System.Threading.Timer(
_callback, null, 1000, millisecond);
}
public void Visita(Object state)
{
string url = “[indirizzo]“;
System.Net.WebRequest request = System.Net.HttpWebRequest.Create(url);
request.Credentials = System.Net.CredentialCache.DefaultCredentials;
System.Net.WebResponse response = request.GetResponse();
response.Close();
}
}
In effetti l’utilità è tutta da verificare, ma dovrebbe funzionare…

0 Risposte a “Uno stratagemma per evitare lo scaricamento dell’applicazione?!”