Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    75

    Uso dell'Application State

    Una volta inserite delle variabili in Application, è possibile usarle non in una pagina, ma in una classe?

    Io ho provato:
    Public class prova
    inherits page

    function () as object
    return Application("var")
    end function

    ma l'errore é:
    "Riferimento a un oggetto non impostato su istanza di oggetto."
    In altre parole Application è a nothing.

    Grazie.

  2. #2
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    lai istanziata prima ???

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    75
    Nel Global.asax ho scritto:

    Application("var")="stringa di prova"

    nella sub di Application_Start.

    E' questo che intendi?

  4. #4
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Prima di tutto valuta sempre che l'oggetto che stai per utilizzare non sia Nothing perchè, se il server è a corto di risorse(ram)le prime cose che spiana sono le Application e, anche se scade la sessione vengono cancellate(insieme alle varibili di sessione).
    Detto questo una volta effettuato il controllo di cui sopra, dovresti fare la conversione dell'oggetto che stai recuperando.
    Cioè:
    codice:
    CType(Application("var"), String)
    Dopo aver fatto questo, come giustamente ti ha chiesto cassano, se l'hai istanziata non dovresti aver problemi, altrimenti devi prima assegnarle un valore.
    Ciao
    Legnetto

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    75
    La conversione di tipo l'avevo già provata,ma non funziona comunque!
    Non capisco proprio quale sia il problema.
    Credevo che le variabili di applicazione fossero "semplici" come quelle di sessione:le crei quando assegni loro in valore e poile sui dove ti serve.

    Non è che per caso devo importare qualche namespace (tipo HTTPApplicationState o HTTPContext)?
    Anche se ci ho provato ma poi non so che farmene...
    :master:

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    75
    (...)Credevo che le variabili di applicazione fossero "semplici" come quelle di sessione:le crei quando assegni loro in valore e poile sui dove ti serve.(...)
    Scusate i refusi,dovuti alla fretta.
    Ovviamente volevo scrivere:
    (...)Credevo che le variabili di applicazione fossero "semplici" come quelle di sessione:le crei quando assegni loro un valore e poi le usi dove ti serve.(...)

  7. #7
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    In effetti le variabili application sono esattamente come le hai descritte solo che in genere funzionano.....
    Io importo nei file.vb sia per le classi che per i code questi namespace.
    codice:
    Imports System
    Imports System.IO
    Imports System.Collections
    Imports System.Collections.Specialized
    Imports System.Configuration
    Imports System.Data
    Imports System.Data.Common
    Imports System.Data.SqlClient
    Imports System.Globalization
    Imports System.Resources
    Imports System.Text
    Imports System.Text.RegularExpressions
    Imports System.Threading
    Imports System.Web
    Imports System.Web.Caching
    Imports System.Web.Security
    Imports System.Web.SessionState
    Imports System.Web.UI
    Imports System.Web.UI.HtmlControls
    Imports System.Web.UI.WebControls
    Imports System.Drawing
    con questi funziona di sicuro, anche se quello interessato dovrebbe essere se non sbaglio "System.Web.UI".
    Ciao
    Legnetto

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    75
    Ho provato con le importazioni dei namespaces che mi hai suggerito, ma non ha funzionato.
    Tra l'altro credo che System.Web.UI si riferisca solo all'interfaccia.

    Ho risolto, invece, in questo modo:

    GLOBAL.ASAX--------------------------------------------------------

    'Creo una variabile di applicazione:

    Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)

    Application.Add("stringa", "evviva!")

    end Sub

    CLASS1.VB-----------------------------------------------------------

    Imports System.Web.HttpApplication
    Imports System.Web.HttpApplicationState
    Imports System.Web.HttpContext


    Public Class Class1
    Inherits System.Web.UI.Page


    Function leggi() As String

    'Così riesco a ottenere un riferimento allo stato della mia applicazione e
    'quindi anche alle variabili che contiene

    Dim myHttpContext As HttpContext = HttpContext.Current

    Dim myHttpApplication As HttpApplication = myHttpContext.ApplicationInstance

    Dim state As HttpApplicationState = myHttpApplication.Application


    Return CType(state.Item("stringa"), String)


    End Function
    End Class


    WEBFORM1.ASPX.VB------------------------------------------------------

    Public Class WebForm1
    Inherits System.Web.UI.Page




    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    Dim class1obj As New Class1

    'Il form contiene solo una textbox TextBox1
    TextBox1.Text = class1obj.leggi()


    End Sub

    End Class

  9. #9
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    L'importante è risolvere...
    Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.