Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Asmx Webservices timeout, heap, GC cosa azzera il Singleton?

2 views
Skip to first unread message

mg.ri...@gmail.com

unread,
Jan 25, 2016, 7:32:16 AM1/25/16
to
Salve a tutti,
è da un pò che non posto quì ... è la prima volta che mi capita questo problema ...

La faccio semplice per individuare il problema:
ho un webservices asmx a cui viene chiesto di fare l'avanzamento di un numero, nello specifico più di uno, ma il problema è lo stesso.

Se non viene richiesto nulla "per un pò" ... dico un pò perchè il tempo di azzeramento NON è sempre lo stesso ... il contatore riparte da zero.

La memorizzazione del contatore che deve essere la stessa per tutti è fatta attraverso un Singleton (thread safe) e le operazioni sono di avanzamento.

Cosa ho già fatto e che NON ha risolto:
- aumento del timeout su IIS impostato al massimo supportabile 65535
- aumento del timeout sul pool di applicazioni a 900minuti
- dicitura esplicita sui metodi del webservice [WebMethod(EnableSession=true)]
- impostato da web.config <sessionState timeout="900" />

Singleton
// Implementazione Singleton
class testService
{
private readonly static Object syncRoot = new Object();

private Int32 _Number;

public Int32 _Number
{ get { return _Number; } set { _Number = value; } }

public static testServiceMyService()
{
if (HttpContext.Current.Cache["testService"] == null)
{
lock (syncRoot) // thread safe
{
if (HttpContext.Current.Cache["testService"] == null)
{
// Expiration Cache 24h
HttpContext.Current.Cache.Add("testService", new testService(), null, Cache.NoAbsoluteExpiration, new TimeSpan(24, 0, 0), CacheItemPriority.Default, null);
}
}
}

return (testService)HttpContext.Current.Cache["testService"];
}

Avrei la necessità di spostare al massimo possibile il periodo di inattività in modo da non azzerare il contatore ... potrebbe essere il Garbage Collector?

Grazie anticipatamente

--
Riddler ?

mg.ri...@gmail.com

unread,
Jan 25, 2016, 8:00:29 AM1/25/16
to
Mi autorispondo ...

Manca un settaggio GLOBALE a livello di IIS:
http://aspnetfaq.com//iis7-application-pool-idle-time-out-settings/

--
Riddler ?
0 new messages