Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Accedere ad una classe di un web service....

    Ho un ws con alcuni metodi e anche, al suo interno, alcune classi molto semplici utilizzate dai metodi.
    Quando istanzio il ws in un'applicazione, pero', non riesco ad accedere a tali classi..
    Per esempio, nel codice del ws c'e' la classe (giusto un es.)


    codice:
    Public Class Pippo
        Public Esempio As String
    End Class

    Nel codice dell'applicazione metto ovviamente

    codice:
    Dim ws As New ws
    
    With ws
        .metodo(...) 'e funziona regolarmente
        Dim obj as New wsNameSpace.Pippo
    End With
    L'operazione in grassetto non va' perche' non riesco a far riconoscere nell'applicazione, l'oggetto di tipo Pippo...
    Come faccio a far vedere le classi definite in un ws nell'applicazione che lo usa?

  2. #2
    una delle cose da fare e' quella di contrassegnare la classe con l'attributo <Serializable>
    Saluti a tutti
    Riccardo

  3. #3
    Utente di HTML.it L'avatar di otello
    Registrato dal
    May 2003
    Messaggi
    296
    Scusate, so che non c'entra nulla con la discussione, ma volevo far notare a Nosophoros che in quel 7/7 qualcuno ha perso ben più che una mezz'ora per arrivafre a casa. Certe frasi prima di essere usate come "massime" andrebbero pensate e ponderate.

    Scusate la divagazione

  4. #4
    Originariamente inviato da riccardone
    una delle cose da fare e' quella di contrassegnare la classe con l'attributo <Serializable>
    ho provato, ma niente!!

    quando aggiorno il riferimento al web service, non vedo la mia classe tra i tipi che posso usare!

    In particolare vorrei poter accedere ad una classe del ws che eredita da CollectionBase. Qualche suggerimento?

    Originariamente inviato da otello
    Scusate, so che non c'entra nulla con la discussione, ma volevo far notare a Nosophoros che in quel 7/7 qualcuno ha perso ben più che una mezz'ora per arrivafre a casa. Certe frasi prima di essere usate come "massime" andrebbero pensate e ponderate.

    Scusate la divagazione
    Massima? Dove vedi la massima? Pensi che io non conosca o non capisca la differenza tra quello che e' un mio "disagio" e il fatto che delle persone abbiano perso la vita in quel modo? Come potresti pensare questo, non conoscendomi?
    Pensa che tra quelle persone avrei potuto esserci io, e sono stato molto fortunato; vivo a Rotherhithe, sulla East London Line, e ogni mattina per venire a lavorare vado con la East fino a Whitechapel, da li' prendo (prendevo, perche' adesso e' un casino) la Hammersmith & City per Liverpool Street, che passa da Aldgate, non molto distante dal luogo della esplosione in quella zona. Ci sono passato un paio di minuti prima dell'"incidente", e poi da Liverpool St ho preso il treno (overground) per Cambridge (che ferma a Tottenham Hale, dove lavoro) esattamente alle 8.49 mentre di sotto, nell'underground, c'erano le altre esplosioni.
    Quella che tu hai interpretato come una "massima" in senso molto cattivo, in realta' voleva essere semplicemente l'esternazione per un disagio non da poco, come il disagio di tante altre persone che si sono viste cambiare abitudini e imporre restrizioni varie in un niente. Non so se l'hanno gia' detto in Italia, ma oggi ci sono state altre esplosioni, e hanno chiuso altre linee della tube. Gia' la situazione non era ancora tornata normale, adesso sai che casino?
    Cmq rimuovo subito la signature, a scanso di ulteriori equivoci e inutili polemiche.

  5. #5
    Originariamente inviato da Nosophoros
    In particolare vorrei poter accedere ad una classe del ws che eredita da CollectionBase. Qualche suggerimento?
    devi sempre decorare con l'attributo Serializable la tua classe e in piu' devi preoccuparti di ereditare, implementare o restituire strutture che siano appunto serializzabili. Oltre a implementare l'interfaccia ISerializable, nella tua classe non dovresti ereditare da collectionbase ma utilizzare eventualmente ICollection.
    Saluti a tutti
    Riccardo

  6. #6
    Originariamente inviato da riccardone
    devi sempre decorare con l'attributo Serializable la tua classe e in piu' devi preoccuparti di ereditare, implementare o restituire strutture che siano appunto serializzabili. Oltre a implementare l'interfaccia ISerializable, nella tua classe non dovresti ereditare da collectionbase ma utilizzare eventualmente ICollection.
    Ho provato con Icollection ecc, niente, stesso risultato.
    Non posso usare il tipo definito dalla custom collection nella applicazione che consuma il ws, e se uso tale tipo come parametro in un webmethod, mi converte lo stesso in un normale array di elementi...


    Mi posteresti un es. funzionante?

  7. #7

    Re: Accedere ad una classe di un web service....

    Originariamente inviato da Nosophoros
    Ho un ws con alcuni metodi e anche, al suo interno, alcune classi molto semplici utilizzate dai metodi.
    Quando istanzio il ws in un'applicazione, pero', non riesco ad accedere a tali classi..
    Per esempio, nel codice del ws c'e' la classe (giusto un es.)


    codice:
    Public Class Pippo
        Public Esempio As String
    End Class

    Nel codice dell'applicazione metto ovviamente

    codice:
    Dim ws As New ws
    
    With ws
        .metodo(...) 'e funziona regolarmente
        Dim obj as New wsNameSpace.Pippo
    End With
    L'operazione in grassetto non va' perche' non riesco a far riconoscere nell'applicazione, l'oggetto di tipo Pippo...
    Come faccio a far vedere le classi definite in un ws nell'applicazione che lo usa?

    ma il web service lo hai aggiunto come Web Reference?
    se non lo hai fatto non ci riuscirai mai ad accedergli.

    PS:
    Public Esempio As String

    non si fa....

    fai una bella proprietà

  8. #8

    Re: Re: Accedere ad una classe di un web service....

    Originariamente inviato da Daniele80
    ma il web service lo hai aggiunto come Web Reference?
    se non lo hai fatto non ci riuscirai mai ad accedergli.

    PS:
    Public Esempio As String

    non si fa....

    fai una bella proprietà
    Ovvio che ho aggiunto il reference...il ws lo uso già.
    Solo che adesso voglio accedere a degli oggetti creati al suo interno, anche dall'applicazione web che lo consuma.
    E sono tutte proprietà..

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 © 2025 vBulletin Solutions, Inc. All rights reserved.