Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Classi e Web Services

  1. #1

    Classi e Web Services

    Ho la necessità di istanziare un oggetto di una classe dichiarata pubblica all'interno di un web service.

    Il problema è che apparentemente il consumatore del servizio non ha la visibilità di tale classe finché questa non appare tra la lista dei parametri di uno degli webmethod.

    Possibile che non ci sia altra possibilità?

    Grazie, Fabio

  2. #2
    Mmm se ho capito bene la classe viene vista solo una volta chiamato il webMethod, ma perchè è un parametro del webMethod stesso? Puoi postare il codice?

  3. #3
    <System.Web.Services.WebService(Namespace:="http ://tempuri.org/Project1/Service1")> _
    Public Class Service1
    Inherits System.Web.Services.WebService

    'Classe definita all'interno del webservice
    Public Class Class1
    Public s As String
    End Class

    <WebMethod()> _
    Public Function WebMethod1(ByVal c1 As Class1) As Boolean

    End Function

    End Class

    Nell'applicazione consumatrice del servizio si può istanziare un oggetto della classe Class1 con la sintassi usuale:

    Dim c1 As New WebService1.Class1

    questo, a patto che un oggetto di tipo Class1 appaia in almeno uno degli webmethod del webservice (nell'esempio WebMethod1); in caso contrario nessuna applicazione che usa il servizio avrà la visibiltà della classe.

    Non è possibile "forzare" la visibilità di una classe al di fuori del webservice in cui è definita, senza che questa debba far parte dell'interfaccia del webservice stesso?

    Grazie, Fabio

  4. #4
    Ma sei sicuro che se istanzi solamente il WebServices non puoi accedere alla classe a meno che essa non sia un WebMethod?

  5. #5
    Assolutamente sicuro.

  6. #6
    Beh ma sai volendoci ragionare il WebServices deve fornirti spiegazioni a riguardo chiamando il WSDL. Ora siccome il WSDL ti espone tutti i WebMethod, penso sia quasi logico non poter usufruire di determinate proprietà o oggetti presenti nella classe WebServices, anche perchè perderebbe di funzionalità il WebServices stesso, non trovi? Purtroppo se vuoi costruire un WebMethod che restituisca una classe, devi implementarne una che abbia l' interfaccia iList se non sbaglio ... L' esame sui WebServices devo ancora darlo ...


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.