Ho necessita' di creare un componente in .NET per utilizzare agevolmente un ws, che pero' debba poter restituire i dati a delle pagine ASP. Che tipo di progetto apro?
Avrei preferito aggiornare tutto a .NET ma non posso per questione di tempo.
Ho necessita' di creare un componente in .NET per utilizzare agevolmente un ws, che pero' debba poter restituire i dati a delle pagine ASP. Che tipo di progetto apro?
Avrei preferito aggiornare tutto a .NET ma non posso per questione di tempo.
Progetto ASP.NET in C# (io preferisco il C#), poi ti aggiungi una DLL che gestisce solo il web serviceOriginariamente inviato da Nosophoros
Ho necessita' di creare un componente in .NET per utilizzare agevolmente un ws, che pero' debba poter restituire i dati a delle pagine ASP. Che tipo di progetto apro?
Avrei preferito aggiornare tutto a .NET ma non posso per questione di tempo.
tlb.
fai una com e carici l'oggetto in asp.
cmq c'è un modo + veloce per leggere i ws con asp.
io personalmente ci sono riuscito. sono quasi vicino a far leggere un dataset ad asp. se riesco (2 weeks) ad effettuare una conversione basata su schema affidabile posto il codice.
bona
E' proprio una DLL che voglio creare...per poi usarla in ASP.Originariamente inviato da Joe Taras
Progetto ASP.NET in C# (io preferisco il C#), poi ti aggiungi una DLL che gestisce solo il web service
Mi daresti qualche input in merito?Originariamente inviato da Jc_
tlb.
fai una com e carici l'oggetto in asp.
cmq c'è un modo + veloce per leggere i ws con asp.
io personalmente ci sono riuscito. sono quasi vicino a far leggere un dataset ad asp. se riesco (2 weeks) ad effettuare una conversione basata su schema affidabile posto il codice.
bona![]()
come ho detto prima sarebbe interessante sapere che tipi di dati ti aspetti che ritorni il tuo ws in un ambiente di release (in questo modo ti posso subito dire se è fattibile o no). Sta di fatto che per fare una conversione .NET a COM, e quindi da managed a unmanaged code alcune cose le perdi, sopratutto il fattore performance.
ricordati che lo switch /tlb è opzionale, ma è opportuno specificarlo in modo che regasm produca typelibrary che i client COM possono utilizzare per referenziare oggetti .NET attraverso l early binding. In pratica, si può omettere lo switch /tlb e non creare una type library del componente solo se i client COM creano ed utilizzano le istanze della classe .NET esclusivamente attraverso il late binding, per mezzo della funzione CreateObject e di variabili Object (o Variant).codice:REGASM componente.dll /tlb:netcomponent.dll
Ti faccio comunque presente che l SDK .NET offre un ulteriore tool che si può utilizzare per esportare una type library, l utility Type Library Exporter (TlbExp). TlbExp ha lo stesso effetto dell'utilizzo dell'opzione /tlb con RegAsm, ad eccezione che il componente non viene registrato.
Se si omette l'opzione /OUT, TlbExp crea una type library con lo stesso nome della DLL sorgente ma con estensione .tlb.codice:TLBEXP componente.dll /OUT:netcomponent.dll
Potrei stare qui a parlarti ore della conversione (andata e ritorno da Managed a Unmanaged), ma credo che quello che ti ho detto ti basti. Se hai ulterioi problemi fai un fischio che vedo come posso aiutarti.
Ciao e buon lavoro.
Ciao, grazie per il tuo post
Ho provato, e la creazione della nuova DLL va a buon fine, pero' quando tento di usarla in una pagina asp non succede una mazza
Ho fatto una prova con una semplice DLL con un solo metodo che restituisce una stringa... creata la DLL col sistema che mi hai suggerito, e in una paginetta asp di prova ho scritto qualcosa come
Dove prova e' il nome del metodo che restituisce la stringa.codice:<% Set obj=Server.CreateObject("NameSpace.NomeClasse") Response.write Obj.prova %>
Non fa una cippa
Che mi suggerisci?![]()
Sono riuscito anche con l'aiuto di questa pagina
http://weblogs.asp.net/dneimke/archi.../31/65330.aspx
Adesso funziona, ma ho un altro piccolo problema: come cancello dal registry ecc ogni riferimento alla libreria?
Stranamente se aggiorno il codice nella libreria e ricompilo e rifaccio tutto ecc, la pagina asp funziona come se la libreria non fosse mai cambiata :master:
Risolto![]()
ottimoOriginariamente inviato da Nosophoros
Risolto![]()
![]()
L'unica palla e' che ogni volta che faccio cambiamenti al codice della dll, devo deregistrare e registrare tutto da capo, inoltre devo riavviare iis altrimenti la pagina asp sembra non accorgersi dei cambiamentiOriginariamente inviato da Jc_
ottimo![]()
![]()
Si puo' evitare?![]()
Un altra cosa: nel progetto della dll in .net ho aggiunto il file app.config, aggiungendovi alcune impostazioni; ma se provo a leggere questi valori e restituirli, per esempio, con un metodo alla pagina asp, vengono restituite soltanto stringhe vuote, ma nessun errore. Qualche idea?![]()
![]()