63 messaggi dal 18 aprile 2008
grazie alberto,
quale metodo posso usare per vedere se l'0ggetto è istanziato?

Imports System.Xml
Imports System.IO

Public Class clsWebService

    Dim ERRORE As New clsErrore
    Dim GRAFICO As New clsGrafico
    
......

    Public Property LISTA_PIZZE As ListBox
......

#Region "STATISTICHE"

    Public Sub CARICA_PIZZE()
        Try
            LISTA_PIZZE.Items.Clear()

            Dim list As New List(Of String)
            list.AddRange(proxy.CARICA_PIZZE)
            
            Dim z As Integer = list.Count - 1
            For x = 0 To z
                LISTA_PIZZE.Items.Add(list.Item(x))
            Next x
        Catch
            Dim proxy As New it.pxxxxxxy.www.ws_pizza2013e
        End Try
    End Sub

#End Region

End Class

alla prima chiamata crea l'errore e instanzia proxy poi dovrebbe funzionare...
così dovrebbe risolvere il problema o ci sono altri metodi?
purtroppo non ho molto tempo di provare in questo periodo
Modificato da pobss il 11 settembre 2013 13.21 -
Ciao,
per funzionare funziona ... non e' una "Best Practice", ma fa il suo dovere.
Potresti sempre testare se proxy = NULL prima di utilizzarlo, e quindi, in caso affermativo, istanziarlo.
Come preferisci.

Alberto
63 messaggi dal 18 aprile 2008
ho trovato questo metodo per istanziare senza modificare tanto il codice, magari può servire ad altri...

Dim PROXY As Lazy(Of it.pxxxxxxxxxy.www.ws_pxxxxxxxe) = New Lazy(Of it.pxxxxxxxxxxy.www.ws_pxxxxxxxe)


grazie ancora per l'aiuto
63 messaggi dal 18 aprile 2008
sono ancora al punto di partenza, dopo un periodo di tempo ottengo il solito errore 500 e troppe sessioni aperte.
ho provato con 2 web service,quando il primo da l'errore mi collego all'altro che pesca sempre dallo stesso db ma anche questo restituisce troppe sessioni aperte.
che sia una limitazione del db?
utilizzo sql ce4
103 messaggi dal 04 ottobre 2010
Che io sappia, la classe it.pxxxxxxy.www.ws_pizza2013e è IDisposable, di conseguenza, è possibile che la sessione si liberi alla chiamando il proxy.Dispose().

Questo vuol dire che ogni volta, ogni secondo, dovrai reistanziare il proxy. La best pratic per gli oggetti IDisposable, è quella di essere implementata all'interno di un blocco using, quindi personalmente nel delegato del timer proverei a fare così:

using(var proxy=new it.pxxxxxxy.www.ws_pizza2013e()){
...
...
proxy.LISTAPIZZE();
...
}

Scusa il linguaggio C#, ma in VB sono talmente tanto ignorante da non conoscere il corrispettivo dello using. Comunque, alla fine dello using, ovvero quando si chiude il blocco, viene automaticamente chiamato il metodo Dispose() della classe it.pxxxxxxy.www.ws_pizza2013e.
Vedi se per caso questa soluzione riesce a risolverti il problema,

Ciao.
Modificato da Biohazard il 19 settembre 2013 13.57 -
63 messaggi dal 18 aprile 2008
grazie Biohazard, appena posso proverò il tuo consiglio.
non preoccuparti per il linguaggio, l'importante è capire il metodo da usare per trovare la soluzione.
vado far pizze...
63 messaggi dal 18 aprile 2008
ho implementato using sia sul software che sul web service e devo dire che funziona, non ottengo più errori.
ho provato a stressare un pò il ws con chiamate ogni 100ms e tiene anche così.
caso risolto!
grazie ace68 e biohazard

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.